3 ###--------------------------------------------------------------------------
4 ### User-serviceable parts.
7 srcdir := $(dir $(lastword $(MAKEFILE_LIST)))
9 ## Installation directories.
11 exec_prefix = ${prefix}
12 bindir = ${exec_prefix}/bin
13 datadir = ${prefix}/share
14 mandir = ${datadir}/man
15 man1dir = ${mandir}/man1
17 ## User configuration.
20 ###--------------------------------------------------------------------------
39 bin_INSTCMD = install -t$(bindir) -m755
43 man1_INSTCMD = install -t$(man1dir) -m644
46 VERSION := $(shell git describe --always --abbrev=4 --dirty=+)
47 -include version-stamp.mk
48 ifneq ($(VERSION),$(OLD_VERSION))
53 version-stamp.mk: $(FORCE_VERSION)
54 echo "OLD_VERSION = $(VERSION)" >$@.new && mv $@.new $@
55 clean::; rm version-stamp.mk
58 bin_FILES += dkim-keys
59 dkim-keys: dkim-keys.in version-stamp.mk
60 sed 's/@VERSION@/$(VERSION)/g' $< >$@.new && \
61 chmod +x $@.new && mv $@.new $@
64 man1_FILES += dkim-keys.1
65 dkim-keys.1: dkim-keys.in version-stamp.mk
66 pod2man -s1 -dkim-keys -r"$(VERSION)" \
67 -c"distorted.org.uk utilities" \
72 TARGETS = $(foreach d,$(INSTDIRS), $($d_FILES))
74 clean::; rm -f $(TARGETS)
79 INSTALLS = $(addprefix install/, $(INSTDIRS))
81 $(INSTALLS): install/%: $$($$*_FILES) | $$($$*dir)/
84 UNINSTALLS = $(addprefix uninstall/, $(INSTDIRS))
85 uninstall: $(UNINSTALLS)
86 $(UNINSTALLS): uninstall/%:
87 rm -f $(addprefix $($*dir)/,$($*_FILES))
88 .PHONY: install $(INSTALLS) uninstall $(UNINSTALLS)