# -*- 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 GENERATED_MAN := $(MAIN_PAGE) $(dir)/man1/notmuch-search.1 $(MAN7) 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 $^ > $@ POD2MAN_RECIPE = mkdir -p $(@D) && \ pod2man --section=$(subst .,,$(suffix $@)) \ --center="Notmuch Documentation" --release=${VERSION} $< > $@ $(dir)/man1/%.1: $(dir)/../pod/%.pod $(POD2MAN_RECIPE) $(dir)/man5/%.5: $(dir)/../pod/%.pod $(POD2MAN_RECIPE) $(dir)/man7/%.7: $(dir)/../pod/%.pod $(POD2MAN_RECIPE) CLEAN := $(CLEAN) $(NROFF7) .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) $(GENERATED_MAN)