mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
9d9a700f1d
This helps avoid build artifacts (namely, nroff and gzipped-nroff man pages) owned by root. The variables allow choosing which generator to use for the man page. These will be hooked to configure in a following commit.
64 lines
1.7 KiB
Makefile
64 lines
1.7 KiB
Makefile
# -*- makefile -*-
|
|
|
|
dir := doc
|
|
|
|
# You can set these variables from the command line.
|
|
SPHINXOPTS := -q -c $(dir)
|
|
SPHINXBUILD = sphinx-build
|
|
DOCBUILDDIR := $(dir)/_build
|
|
|
|
prerst2man := python $(dir)/prerst2man.py
|
|
mkdocdeps := python $(dir)/mkdocdeps.py
|
|
|
|
# Internal variables.
|
|
ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir)
|
|
|
|
.PHONY: sphinx-html sphinx-texinfo sphinx-info
|
|
|
|
.PHONY: install-man build-man
|
|
|
|
%.gz: %
|
|
rm -f $@ && gzip --stdout $^ > $@
|
|
|
|
sphinx-html:
|
|
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOCBUILDDIR)/html
|
|
|
|
sphinx-texinfo:
|
|
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(DOCBUILDDIR)/texinfo
|
|
|
|
sphinx-info: sphinx-texinfo
|
|
make -C $(DOCBUILDDIR)/texinfo info
|
|
|
|
-include $(dir)/docdeps.mk
|
|
|
|
MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES})
|
|
|
|
build-man: ${MAN_GZIP_FILES}
|
|
|
|
${MAN_ROFF_FILES}: ${dir}/man.stamp
|
|
|
|
$(dir)/man.stamp: ${MAN_RST_FILES}
|
|
ifeq ($(HAVE_SPHINX),1)
|
|
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(DOCBUILDDIR)/man
|
|
touch $@
|
|
else ifeq ($(HAVE_RST2MAN),1)
|
|
$(prerst2man) $(DOCBUILDDIR)/.. $(DOCBUILDDIR)/man
|
|
touch $@
|
|
else
|
|
@echo "No sphinx or rst2man, will not install man pages."
|
|
endif
|
|
|
|
install-man: ${MAN_GZIP_FILES}
|
|
mkdir -p "$(DESTDIR)$(mandir)/man1"
|
|
mkdir -p "$(DESTDIR)$(mandir)/man5"
|
|
mkdir -p "$(DESTDIR)$(mandir)/man7"
|
|
install -m0644 $(DOCBUILDDIR)/man/*.1.gz $(DESTDIR)/$(mandir)/man1
|
|
install -m0644 $(DOCBUILDDIR)/man/*.5.gz $(DESTDIR)/$(mandir)/man5
|
|
install -m0644 $(DOCBUILDDIR)/man/*.7.gz $(DESTDIR)/$(mandir)/man7
|
|
cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz
|
|
|
|
$(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py
|
|
$(mkdocdeps) $< $(DOCBUILDDIR) $@
|
|
|
|
CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk $(dir)/man.stamp
|
|
CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES)
|