vars.am: Clean up old `.defs' files when building manpages.
[sod] / vars.am
diff --git a/vars.am b/vars.am
index 21f03ce..71a48a0 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)
 
@@ -77,6 +77,13 @@ V_SUBST_0 = @echo "  SUBST    $@";
 SUBST = $(V_SUBST)$(confsubst)
 
 ###--------------------------------------------------------------------------
+### Wrangling ASDF.
+
+ASDF_ENV                = \
+       CL_SOURCE_REGISTRY=$$(cd $(top_builddir)/src && pwd): \
+       ASDF_OUTPUT_TRANSLATIONS=$$(cd $(top_srcdir)/src && pwd):$$(cd $(top_builddir)/src && pwd):
+
+###--------------------------------------------------------------------------
 ### Translating SOD input files.
 
 ## The tool location.
@@ -92,8 +99,8 @@ V_SOD_h_0              = @echo "  SOD[h]   $@";
 
 ## Build rules.
 SUFFIXES               += .c .h .sod
-.sod.c:; $(V_SOD_c)$(SOD) -tc $<
-.sod.h:; $(V_SOD_h)$(SOD) -th $<
+.sod.c:; $(V_SOD_c)$(SOD) -M -tc $<
+.sod.h:; $(V_SOD_h)$(SOD) -M -th $<
 %.c: %.sod $(SOD); $(V_SOD_c)$(SOD) -M -tc $<
 %.h: %.sod $(SOD); $(V_SOD_h)$(SOD) -M -th $<
 
@@ -110,4 +117,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 $@.defs $@.merge && mv $@.subst $@
+
+
 ###----- That's all, folks --------------------------------------------------