]> git.notmuchmail.org Git - notmuch/blob - doc/Makefile.local
doc: install sphinx version of man pages
[notmuch] / doc / Makefile.local
1 # -*- makefile -*-
2
3 dir := doc
4
5 # You can set these variables from the command line.
6 SPHINXOPTS    := -q -c $(dir)
7 SPHINXBUILD   = sphinx-build
8 DOCBUILDDIR      := $(dir)/_build
9
10 prerst2man := python $(dir)/prerst2man.py
11 mkdocdeps := python $(dir)/mkdocdeps.py
12
13 # Internal variables.
14 ALLSPHINXOPTS   := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir)
15
16 .PHONY: sphinx-html sphinx-man sphinx-texinfo sphinx-info
17 .PHONY: rst2man
18
19 .PHONY: install-man
20
21 %.gz: %
22         rm -f $@ && gzip --stdout $^ > $@
23
24 sphinx-html:
25         $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOCBUILDDIR)/html
26
27 sphinx-man:
28         $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(DOCBUILDDIR)/man
29
30 sphinx-texinfo:
31         $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(DOCBUILDDIR)/texinfo
32
33 sphinx-info: sphinx-texinfo
34         make -C $(DOCBUILDDIR)/texinfo info
35
36 # fallback target in case sphinx not installed
37 rst2man:
38         $(prerst2man) $(DOCBUILDDIR)/.. $(DOCBUILDDIR)/man
39
40 -include $(dir)/docdeps.mk
41
42 MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES})
43
44 ${MAN_ROFF_FILES} : sphinx-man
45
46 install-man: ${MAN_GZIP_FILES}
47         mkdir -p "$(DESTDIR)$(mandir)/man1"
48         mkdir -p "$(DESTDIR)$(mandir)/man5"
49         mkdir -p "$(DESTDIR)$(mandir)/man7"
50         install -m0644 $(DOCBUILDDIR)/man/*.1.gz $(DESTDIR)/$(mandir)/man1
51         install -m0644 $(DOCBUILDDIR)/man/*.5.gz $(DESTDIR)/$(mandir)/man5
52         install -m0644 $(DOCBUILDDIR)/man/*.7.gz $(DESTDIR)/$(mandir)/man7
53         cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz
54
55
56 $(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py
57         $(mkdocdeps) $< $(DOCBUILDDIR) $@
58
59 CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk