mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-24 18:34:52 +01:00
doc: install sphinx version of man pages
The python script mkdocdeps.py is used to import the list of man pages from the sphinx configuration to make. This will delete the (release only) target update-man-versions. This will be replaced in a followup commit.
This commit is contained in:
parent
df70fc4b4b
commit
6f8daa3989
5 changed files with 41 additions and 58 deletions
2
Makefile
2
Makefile
|
@ -5,7 +5,7 @@ all:
|
|||
# List all subdirectories here. Each contains its own Makefile.local.
|
||||
# Use of '=', without '+=', seems to be required for out-of-tree
|
||||
# builds to work.
|
||||
subdirs = compat completion doc emacs lib man parse-time-string performance-test util test
|
||||
subdirs = compat completion doc emacs lib parse-time-string performance-test util test
|
||||
|
||||
# We make all targets depend on the Makefiles themselves.
|
||||
global_deps = Makefile Makefile.config Makefile.local \
|
||||
|
|
|
@ -95,7 +95,7 @@ dist: $(TAR_FILE)
|
|||
|
||||
.PHONY: update-versions
|
||||
|
||||
update-versions: update-man-versions
|
||||
update-versions:
|
||||
sed -i "s/^__VERSION__[[:blank:]]*=.*$$/__VERSION__ = \'${VERSION}\'/" $(PV_FILE)
|
||||
|
||||
# We invoke make recursively only to force ordering of our phony
|
||||
|
|
|
@ -8,6 +8,7 @@ SPHINXBUILD = sphinx-build
|
|||
DOCBUILDDIR := $(dir)/_build
|
||||
|
||||
prerst2man := python $(dir)/prerst2man.py
|
||||
mkdocdeps := python $(dir)/mkdocdeps.py
|
||||
|
||||
# Internal variables.
|
||||
ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir)
|
||||
|
@ -15,6 +16,11 @@ ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(dir)
|
|||
.PHONY: sphinx-html sphinx-man sphinx-texinfo sphinx-info
|
||||
.PHONY: rst2man
|
||||
|
||||
.PHONY: install-man
|
||||
|
||||
%.gz: %
|
||||
rm -f $@ && gzip --stdout $^ > $@
|
||||
|
||||
sphinx-html:
|
||||
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(DOCBUILDDIR)/html
|
||||
|
||||
|
@ -31,4 +37,23 @@ sphinx-info: sphinx-texinfo
|
|||
rst2man:
|
||||
$(prerst2man) $(DOCBUILDDIR)/.. $(DOCBUILDDIR)/man
|
||||
|
||||
CLEAN := $(CLEAN) $(DOCBUILDDIR)
|
||||
-include $(dir)/docdeps.mk
|
||||
|
||||
MAN_GZIP_FILES := $(addsuffix .gz,${MAN_ROFF_FILES})
|
||||
|
||||
${MAN_ROFF_FILES} : sphinx-man
|
||||
|
||||
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
|
||||
|
|
13
doc/mkdocdeps.py
Normal file
13
doc/mkdocdeps.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
from sys import argv
|
||||
conffile = argv[1]
|
||||
builddir = argv[2]
|
||||
outfile = argv[3]
|
||||
|
||||
execfile(conffile)
|
||||
|
||||
roff_files = []
|
||||
out=open(outfile,'w')
|
||||
for page in man_pages:
|
||||
roff_files = roff_files + ["{0:s}/man/{1:s}.{2:d}".format(builddir,page[1],page[4])]
|
||||
|
||||
out.write ('MAN_ROFF_FILES := ' + ' \\\n\t'.join(roff_files)+'\n')
|
|
@ -1,55 +0,0 @@
|
|||
# -*- Makefile -*-
|
||||
|
||||
dir := man
|
||||
|
||||
# this variable seems to be needed to prevent lazy evaluation causing
|
||||
# problems with $(dir) changing values.
|
||||
MAIN_PAGE := $(dir)/man1/notmuch.1
|
||||
|
||||
MAN1 := \
|
||||
$(MAIN_PAGE) \
|
||||
$(dir)/man1/notmuch-compact.1 \
|
||||
$(dir)/man1/notmuch-config.1 \
|
||||
$(dir)/man1/notmuch-count.1 \
|
||||
$(dir)/man1/notmuch-dump.1 \
|
||||
$(dir)/man1/notmuch-restore.1 \
|
||||
$(dir)/man1/notmuch-insert.1 \
|
||||
$(dir)/man1/notmuch-new.1 \
|
||||
$(dir)/man1/notmuch-reply.1 \
|
||||
$(dir)/man1/notmuch-search.1 \
|
||||
$(dir)/man1/notmuch-show.1 \
|
||||
$(dir)/man1/notmuch-tag.1
|
||||
|
||||
MAN5 := $(dir)/man5/notmuch-hooks.5
|
||||
MAN7 := $(dir)/man7/notmuch-search-terms.7
|
||||
|
||||
MAN1_GZ := $(addsuffix .gz,$(MAN1))
|
||||
MAN5_GZ := $(addsuffix .gz,$(MAN5))
|
||||
MAN7_GZ := $(addsuffix .gz,$(MAN7))
|
||||
|
||||
MAN_SOURCE := $(MAN1) $(MAN5) $(MAN7)
|
||||
MAN_BACKUP := $(addsuffix .bak,$(MAN_SOURCE))
|
||||
COMPRESSED_MAN := $(MAN1_GZ) $(MAN5_GZ) $(MAN7_GZ)
|
||||
|
||||
%.gz: %
|
||||
gzip --stdout $^ > $@
|
||||
|
||||
.PHONY: install-man update-man-versions
|
||||
|
||||
install-man: $(COMPRESSED_MAN)
|
||||
mkdir -p "$(DESTDIR)$(mandir)/man1"
|
||||
mkdir -p "$(DESTDIR)$(mandir)/man5"
|
||||
mkdir -p "$(DESTDIR)$(mandir)/man7"
|
||||
install -m0644 $(MAN1_GZ) $(DESTDIR)/$(mandir)/man1
|
||||
install -m0644 $(MAN5_GZ) $(DESTDIR)/$(mandir)/man5
|
||||
install -m0644 $(MAN7_GZ) $(DESTDIR)/$(mandir)/man7
|
||||
cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz
|
||||
|
||||
update-man-versions: $(MAN_SOURCE)
|
||||
for file in $(MAN_SOURCE); do \
|
||||
cp $$file $$file.bak ; \
|
||||
sed "s/^.TH NOTMUCH\([^[:blank:]]*\) \([1-9]\) .*$$/.TH NOTMUCH\1 \2 ${DATE} \"Notmuch ${VERSION}\"/" \
|
||||
< $$file.bak > $$file; \
|
||||
done
|
||||
|
||||
CLEAN := $(CLEAN) $(COMPRESSED_MAN) $(MAN_BACKUP)
|
Loading…
Reference in a new issue