diff options
author | David Bremner <bremner@debian.org> | 2011-12-20 16:35:13 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2011-12-31 15:16:32 -0400 |
commit | af12e5a3ac887cd7dde344f67d9d43688e78e295 (patch) | |
tree | c9eae15b94643cfaa801fbf12a7f5eebf9817c06 /man | |
parent | 7c5695b439d89d69d5f6d6a88cdcf964d7a98fbe (diff) |
build-system: update for split man pages
- We have to remove the installation of notmuch.1.gz from the top
level Makefile.local.
- Man pages with multiple names are handled by making relative
symlinks in the install-man target.
- update version tests and convenience rules for split man pages
The man page version test still only checks notmuch.1, but the
location is updated.
update-man-versions is longer than the one-line previously in
update-versions mainly because I decided to take the high road and
stick to POSIX sed (thus, no sed -i). The sed regex itself is more
complicated to cope with variations in the headers.
Diffstat (limited to 'man')
-rw-r--r-- | man/Makefile | 5 | ||||
-rw-r--r-- | man/Makefile.local | 61 |
2 files changed, 66 insertions, 0 deletions
diff --git a/man/Makefile b/man/Makefile new file mode 100644 index 00000000..fa25832e --- /dev/null +++ b/man/Makefile @@ -0,0 +1,5 @@ +all: + $(MAKE) -C .. all + +.DEFAULT: + $(MAKE) -C .. $@ diff --git a/man/Makefile.local b/man/Makefile.local new file mode 100644 index 00000000..234ae89c --- /dev/null +++ b/man/Makefile.local @@ -0,0 +1,61 @@ +# -*- 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-config.1 \ + $(dir)/man1/notmuch-count.1 \ + $(dir)/man1/notmuch-dump.1 \ + $(dir)/man1/notmuch-new.1 \ + $(dir)/man1/notmuch-part.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 verify-version-manpage + +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 -s notmuch.1.gz notmuch-setup.1.gz + cd $(DESTDIR)/$(mandir)/man1 && ln -s notmuch-dump.1.gz notmuch-restore.1.gz + +verify-version-manpage: verify-version-components + @echo -n "Checking that manual page version is $(VERSION)..." + @[ "$(VERSION)" = $$(sed -n '/^[.]TH NOTMUCH 1/{s/.*"Notmuch //;s/".*//p;}' $(MAIN_PAGE)) ] || \ + (echo "No." && \ + echo "Please edit version and notmuch.1 to have consistent versions." && false) + @echo "Good." + +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) |