help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] [PATCH 2/5] build: prefer pattern rules over suffix rul


From: Stefano Lattarini
Subject: [Help-smalltalk] [PATCH 2/5] build: prefer pattern rules over suffix rules
Date: Mon, 20 Aug 2012 21:56:21 +0200

They are clearer and more idiomatic.  Of course they are unportable to
non-GNU make implementations, but the Smalltalk build system already
requires GNU make, so that's not a problem.

* libgst/Makefile.am (.gperf.inl): Rewrite ...
(%.inl: %.gperf): ... as a pattern rule.
* packages/i18n/Makefile.am (.sin.sed): Rewrite ...
(%.sed: %.sin): ... as this pattern rule.
* doc/Makefile.am (.texi.info): Rewrite ...
(%.info: %.texi): ... as this pattern rule.

Signed-off-by: Stefano Lattarini <address@hidden>
---
 ChangeLog                 | 15 +++++++++++++++
 doc/Makefile.am           |  2 +-
 libgst/Makefile.am        |  2 +-
 packages/i18n/Makefile.am |  2 +-
 4 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 293b064..733c110 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2012-08-20  Stefano Lattarini  <address@hidden>
 
+       build: prefer pattern rules over suffix rules
+
+       They are clearer and more idiomatic.  Of course they are not
+       portable to non-GNU make implementations, but the Smalltalk build
+       system already requires GNU make, so that's not a problem.
+
+       * libgst/Makefile.am (.gperf.inl): Rewrite ...
+       (%.inl: %.gperf): ... as a pattern rule.
+       * packages/i18n/Makefile.am (.sin.sed): Rewrite ...
+       (%.sed: %.sin): ... as this pattern rule.
+       * doc/Makefile.am (.texi.info): Rewrite ...
+       (%.info: %.texi): ... as this pattern rule.
+
+2012-08-20  Stefano Lattarini  <address@hidden>
+
        build: use $(AM_CPPFLAGS), not $(INCLUDES)
 
        The latter is a long-deprecated and obsolescent alias for the former.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index a89a38a..ea6c0bf 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -159,7 +159,7 @@ $(srcdir)/classes.texi: $(top_srcdir)/kernel/stamp-classes
 # In TeX output, having colons in index entries looks pretty, but
 # this is impossible in info output!!!  So we hack by replacing
 # colons with underscores in the info file.
-.texi.info:
+%.info: %.texi
        @cd $(srcdir) && rm -f $@ address@hidden address@hidden
        fixed=`pwd`/`echo $< | $(SED) 's/\.texi/-fixed&/' `; \
          cd $(srcdir) && \
diff --git a/libgst/Makefile.am b/libgst/Makefile.am
index 5a28027..4393388 100644
--- a/libgst/Makefile.am
+++ b/libgst/Makefile.am
@@ -166,7 +166,7 @@ $(srcdir)/vm.stamp: vm.def
 # rules for invoking gperf
 # not fully idiot-proof but only to be run by maintainers
 
-.gperf.inl:
+%.inl: %.gperf
        @opts="$< `$(SED) -ne /.*gperf/!d -e s///p -e q $< | \
            $(SED) 's,$$(srcdir),$(srcdir),g'`"; \
          echo $(GPERF) $$opts " > $@"; \
diff --git a/packages/i18n/Makefile.am b/packages/i18n/Makefile.am
index 2ba4815..dc90582 100644
--- a/packages/i18n/Makefile.am
+++ b/packages/i18n/Makefile.am
@@ -15,7 +15,7 @@ EXTRA_DIST = ref-add.sin ref-del.sin config.charset
 noinst_SCRIPTS = ref-add.sed ref-del.sed
 CLEANFILES = ref-add.sed ref-del.sed charset.alias
 
-.sin.sed:
+%.sed: %.sin
        $(SED) -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
        mv t-$@ $@
 
-- 
1.7.12.rc0.129.g61b472e




reply via email to

[Prev in Thread] Current Thread [Next in Thread]