notmuch/man/Makefile.local
Jameson Graef Rollins f079f5f931 break up dump and restore man pages.
These functions are enough different in their behavior that it's not
really worth it to combine them.  They overlap in the format of the
dump file, but we can have a separate page that describes the dump
format, and either reference it or include it.  This also keeps things
nice and clean with one page per command.
2011-12-31 15:16:32 -04:00

60 lines
1.9 KiB
Makefile

# -*- 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-restore.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 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
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)