]> git.notmuchmail.org Git - notmuch/blob - devel/nmbug/doc/Makefile
Import notmuch_0.28.2.orig.tar.gz
[notmuch] / devel / nmbug / doc / Makefile
1 # Makefile for Sphinx documentation
2 #
3
4 # You can set these variables from the command line.
5 SPHINXOPTS    =
6 SPHINXBUILD   = sphinx-build
7 DOCBUILDDIR   := _build
8
9 SRCDIR ?= .
10 ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(SRCDIR)
11
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))
15
16 .PHONY: build-man
17 build-man: $(MAN_GZIP_FILES)
18
19 %.gz: %
20         rm -f $@ && gzip --stdout $^ > $@
21
22 $(MAN_ROFF_FILES): $(DOCBUILDDIR)/.roff.stamp
23
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}; \
35         done
36
37 clean:
38         rm -rf $(DOCBUILDDIR) $(SRCDIR)/conf.pyc