notmuch/devel/nmbug/doc/Makefile

39 lines
1.2 KiB
Makefile
Raw Normal View History

# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
DOCBUILDDIR := _build
SRCDIR ?= .
ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(SRCDIR)
MAN_RST_FILES := $(shell find $(SRCDIR)/man* -name '*.rst')
MAN_ROFF_FILES := $(patsubst $(SRCDIR)/man%.rst,$(DOCBUILDDIR)/man/man%,$(MAN_RST_FILES))
MAN_GZIP_FILES := $(addsuffix .gz,$(MAN_ROFF_FILES))
.PHONY: build-man
build-man: $(MAN_GZIP_FILES)
%.gz: %
rm -f $@ && gzip --stdout $^ > $@
$(MAN_ROFF_FILES): $(DOCBUILDDIR)/.roff.stamp
# By using $(DOCBUILDDIR)/.roff.stamp instead of $(MAN_ROFF_FILES), we
# convey to make that a single invocation of this recipe builds all
# of the roff files. This prevents parallel make from starting an
# instance of this recipe for each roff file.
$(DOCBUILDDIR)/.roff.stamp $(MAN_ROFF_FILES): $(MAN_RST_FILES)
mkdir -p $(DOCBUILDDIR)
touch $(DOCBUILDDIR)/.roff.stamp
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(DOCBUILDDIR)/man
for section in 1 5; do \
mkdir -p $(DOCBUILDDIR)/man/man$${section}; \
mv $(DOCBUILDDIR)/man/*.$${section} $(DOCBUILDDIR)/man/man$${section}; \
done
clean:
rm -rf $(DOCBUILDDIR) $(SRCDIR)/conf.pyc