aboutsummaryrefslogtreecommitdiffhomepage
path: root/man/Makefile.local
blob: d43a949cf4454ab176c92ad1360c187a2a768a3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# -*- 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 -sf 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)