diff options
author | David Bremner <david@tethera.net> | 2014-03-05 09:34:10 -0400 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2014-03-09 10:41:09 -0300 |
commit | 6f8daa39895c600180530618abc0eb86d56500d0 (patch) | |
tree | 9601a145fac79a9e8f2d68c243719d5198868342 | |
parent | df70fc4b4b7295f9f5c512c5e1e5c8c46a620944 (diff) |
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.
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | Makefile.local | 2 | ||||
-rw-r--r-- | doc/Makefile.local | 27 | ||||
-rw-r--r-- | doc/mkdocdeps.py | 13 | ||||
-rw-r--r-- | man/Makefile.local | 55 |
5 files changed, 41 insertions, 58 deletions
@@ -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 \ diff --git a/Makefile.local b/Makefile.local index 174506c5..5f797ad0 100644 --- a/Makefile.local +++ b/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 diff --git a/doc/Makefile.local b/doc/Makefile.local index 47192473..fd64f708 100644 --- a/doc/Makefile.local +++ b/doc/Makefile.local @@ -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 diff --git a/doc/mkdocdeps.py b/doc/mkdocdeps.py new file mode 100644 index 00000000..2f4a9596 --- /dev/null +++ b/doc/mkdocdeps.py @@ -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') diff --git a/man/Makefile.local b/man/Makefile.local deleted file mode 100644 index 57910b76..00000000 --- a/man/Makefile.local +++ /dev/null @@ -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) |