chiark / gitweb /
Build system substitutions, for absurdities
[dgit.git] / Makefile
index 6fcc9bd27b93f585ae250423d671e22fdd610959..b72a1e9f477f61e1c7edcda2afa4e2e9796170a5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -30,10 +30,11 @@ man1dir=$(mandir)/man1
 man7dir=$(mandir)/man7
 infraexamplesdir=$(prefix)/share/doc/dgit-infrastructure/examples
 txtdocdir=$(prefix)/share/doc/dgit
+absurddir=$(prefix)/share/dgit/absurd
 
 PROGRAMS=dgit
 MAN1PAGES=dgit.1
-MAN7PAGES=dgit.7
+MAN7PAGES=dgit.7 dgit-maint-merge.7
 TXTDOCS=README.dsc-import
 PERLMODULES=Debian/Dgit.pm
 
@@ -46,10 +47,16 @@ INFRA_PERLMODULES= \
        Debian/Dgit/Infra.pm \
        Debian/Dgit/Policy/Debian.pm
 
-all:
+all:   $(MAN7PAGES) $(addprefix substituted/,$(PROGRAMS))
 
-install:       installdirs
-       $(INSTALL_PROGRAM) $(PROGRAMS) $(DESTDIR)$(bindir)
+substituted/%: %
+       mkdir -p substituted
+       perl -pe 's{\bundef\b}{'\''$(absurddir)'\''} if m/###substituted###/' \
+               <$< >$@
+
+install:       installdirs all
+       $(INSTALL_PROGRAM) $(addprefix substituted/,$(PROGRAMS)) \
+               $(DESTDIR)$(bindir)
        $(INSTALL_DATA) $(MAN1PAGES) $(DESTDIR)$(man1dir)
        $(INSTALL_DATA) $(MAN7PAGES) $(DESTDIR)$(man7dir)
        $(INSTALL_DATA) $(TXTDOCS) $(DESTDIR)$(txtdocdir)
@@ -60,7 +67,7 @@ install:      installdirs
 installdirs:
        $(INSTALL_DIR) $(DESTDIR)$(bindir) \
                $(DESTDIR)$(man1dir) $(DESTDIR)$(man7dir) \
-               $(DESTDIR)$(txtdocdir) \
+               $(DESTDIR)$(txtdocdir) $(DESTDIR)$(absurddir) \
                $(addprefix $(DESTDIR)$(perldir)/, $(dir $(PERLMODULES)))
 
 install-infra: installdirs-infra
@@ -79,4 +86,12 @@ installdirs-infra:
 check installcheck:
 
 clean distclean mostlyclean maintainer-clean:
-       rm -rf tests/tmp
+       rm -rf tests/tmp substituted
+       set -e; for m in $(MAN7PAGES); do \
+               test -e $$m.pod && rm -f $$m; \
+       done
+
+%.7: %.7.pod
+       pod2man --section=7 --date="Debian Project" --center="dgit" \
+               --name=$(subst .7,,$@) \
+               $^ $@