1 # Makefile for Sphinx documentation
4 # You can set these variables from the command line.
6 SPHINXBUILD = sphinx-build
10 ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(SRCDIR)
12 MAN_RST_FILES := $(shell find $(SRCDIR)/man* -name '*.rst')
13 MAN_ROFF_FILES := $(patsubst $(SRCDIR)/man%.rst,$(DOCBUILDDIR)/man/man%,$(MAN_RST_FILES))
14 MAN_GZIP_FILES := $(addsuffix .gz,$(MAN_ROFF_FILES))
17 build-man: $(MAN_GZIP_FILES)
20 rm -f $@ && gzip --stdout $^ > $@
22 $(MAN_ROFF_FILES): $(DOCBUILDDIR)/.roff.stamp
24 # By using $(DOCBUILDDIR)/.roff.stamp instead of $(MAN_ROFF_FILES), we
25 # convey to make that a single invocation of this recipe builds all
26 # of the roff files. This prevents parallel make from starting an
27 # instance of this recipe for each roff file.
28 $(DOCBUILDDIR)/.roff.stamp $(MAN_ROFF_FILES): $(MAN_RST_FILES)
29 mkdir -p $(DOCBUILDDIR)
30 touch $(DOCBUILDDIR)/.roff.stamp
31 $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(DOCBUILDDIR)/man
32 for section in 1 5; do \
33 mkdir -p $(DOCBUILDDIR)/man/man$${section}; \
34 mv $(DOCBUILDDIR)/man/*.$${section} $(DOCBUILDDIR)/man/man$${section}; \
38 rm -rf $(DOCBUILDDIR) $(SRCDIR)/conf.pyc