man pages: Split out the common preamble and insert it at build time.
[sod] / vars.am
diff --git a/vars.am b/vars.am
index af6c14e..1409100 100644 (file)
--- a/vars.am
+++ b/vars.am
@@ -45,7 +45,7 @@ pkginclude_HEADERS     =
 noinst_DATA             =
 TESTS                   =
 
-dist_man_MANS           =
+man_MANS                =
 
 CLEANFILES             += $(BUILT_SOURCES)
 
@@ -110,4 +110,26 @@ V_TEST                      = $(V_TEST_@AM_V@)
 V_TEST_                         = $(V_TEST_@AM_DEFAULT_V@)
 V_TEST_0                = @echo "  TEST     $@";
 
+###--------------------------------------------------------------------------
+### Manpage substitutions.
+
+SUFFIXES               += .1.in .1
+SUFFIXES               += .3.in .3
+SUFFIXES               += .5.in .5
+
+mandefs                         = $(top_srcdir)/common/defs.man
+
+V_MAN                   = $(V_MAN_@AM_V@)
+V_MAN_                  = $(V_MAN_@AM_DEFAULT_V@)
+V_MAN_0                         = @echo "  MAN      $@";
+
+.1.in.1 .3.in.3 .5.in.5:
+       $(V_MAN)
+       $(AM_V_at)sed '/^\.$$/ d; /^\.\\"/ d' $(mandefs) >$@.defs
+       $(AM_V_at)sed -e '/@@@PRE@@@/ {' -e 'r$@.defs' -e 'd' -e '}' \
+               $< >$@.merge
+       $(AM_V_at)$(confsubst) $@.merge >$@.subst $(SUBSTITUTIONS)
+       $(AM_V_at)rm -f $@.merge && mv $@.subst $@
+
+
 ###----- That's all, folks --------------------------------------------------