[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] [PATCH 5/5] build: reorganize some stamp files' handlin
From: |
Stefano Lattarini |
Subject: |
[Help-smalltalk] [PATCH 5/5] build: reorganize some stamp files' handling |
Date: |
Mon, 20 Aug 2012 21:56:24 +0200 |
This change is a useless but harmless re-organization of some
build rules using stamp files. The real reason for such a change
is that it will make transition to Automake-NG easier.
* libgst/Makefile.am ($(srcdir)/match.stamp): No need to specify
the '$(srcdir)/' explicitly, since the Smalltalk build system is
assuming GNU make anyway (it was once necessary to avoid a bug
with FreeBSD VPATH handling); so rename this target simply ...
(match.stamp): ... like this. Also, depend on 'genbc$(EXEEXT)',
rather than calling '$(MAKE)' recursively in the recipe to build
it. Not only is this more efficient, it also avoid possible
hanging of "make all" in the 'libgist' subdir when Automake-NG
is used to bootstrap the Smalltalk build system.
($(srcdir)/prims.stamp): Likewise ...
(prims.stamp): ... rename and modify the rule (with the
dependency being on 'genprims$(EXEEXT)' this time).
($(srcdir)/vm.stamp): Likewise ...
(vm.stamp): ... rename and modify the rule (with the dependency
being on 'genvm$(EXEEXT)' this time).
(dist-hook, STAMP_FILES): Remove, no more needed.
(CLEANFILES): Add all the '*.stamp' files referenced above.
Signed-off-by: Stefano Lattarini <address@hidden>
---
ChangeLog | 26 ++++++++++++++++++++++++++
libgst/Makefile.am | 29 ++++++++++-------------------
2 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index fdeec4b..af14a82 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,31 @@
2012-08-20 Stefano Lattarini <address@hidden>
+ build: reorganize some stamp files' handling
+
+ This change is a useless but harmless re-organization of some
+ build rules using stamp files. The real reason for such a change
+ is that it will make transition to Automake-NG easier.
+
+ * libgst/Makefile.am ($(srcdir)/match.stamp): No need to specify
+ the '$(srcdir)/' explicitly, since the Smalltalk build system is
+ assuming GNU make anyway (it was once necessary to avoid a bug
+ with FreeBSD VPATH handling); so rename this target simply ...
+ (match.stamp): ... like this. Also, depend on 'genbc$(EXEEXT)',
+ rather than calling '$(MAKE)' recursively in the recipe to build
+ it. Not only is this more efficient, it also avoid possible
+ hanging of "make all" in the 'libgist' subdir when Automake-NG
+ is used to bootstrap the Smalltalk build system.
+ ($(srcdir)/prims.stamp): Likewise ...
+ (prims.stamp): ... rename and modify the rule (with the
+ dependency being on 'genprims$(EXEEXT)' this time).
+ ($(srcdir)/vm.stamp): Likewise ...
+ (vm.stamp): ... rename and modify the rule (with the dependency
+ being on 'genvm$(EXEEXT)' this time).
+ (dist-hook, STAMP_FILES): Remove, no more needed.
+ (CLEANFILES): Add all the '*.stamp' files referenced above.
+
+2012-08-20 Stefano Lattarini <address@hidden>
+
svnprintf: modernize and improve its build system
* snvprintf/Makefile.am (DIST_SUBDIRS): Don't explicitly define
diff --git a/libgst/Makefile.am b/libgst/Makefile.am
index 4393388..6082a35 100644
--- a/libgst/Makefile.am
+++ b/libgst/Makefile.am
@@ -16,6 +16,7 @@ include_HEADERS = gstpub.h gst.h
lib_LTLIBRARIES = libgst.la
EXTRA_PROGRAMS = genprims genbc genvm
CLEANFILES = genprims$(EXEEXT) genbc$(EXEEXT) genvm$(EXEEXT) \
+ prims.stamp match.stamp vm.stamp \
genbc-decl.stamp genbc-impl.stamp genpr-parse.stamp genvm-parse.stamp
# definitions for libgst.la
@@ -81,7 +82,6 @@ BUILT_SOURCES = prims.inl match.h builtins.inl vm.inl \
genvm-parse.c genvm-scan.c genvm-parse.h
dist_noinst_DATA = valgrind.supp prims.def byte.def vm.def builtins.gperf
-STAMP_FILES = prims.stamp match.stamp vm.stamp
noinst_HEADERS = \
gstpriv.h files.h lex.h str.h re.h \
@@ -109,11 +109,10 @@ noinst_HEADERS = \
# Try to economize in the rebuilds, by avoiding unnecessary
# changes to the timestamp of match.h
-$(srcdir)/match.h: $(srcdir)/match.stamp
+$(srcdir)/match.h: match.stamp
@:
-$(srcdir)/match.stamp: byte.def byte.c opt.c xlat.c
- @$(MAKE) genbc$(EXEEXT)
+match.stamp: byte.def byte.c opt.c xlat.c genbc$(EXEEXT)
@echo "./genbc$(EXEEXT) $(srcdir)/byte.def $(srcdir)/byte.c
$(srcdir)/opt.c $(srcdir)/xlat.c > match.h"; \
./genbc$(EXEEXT) $(srcdir)/byte.def $(srcdir)/byte.c $(srcdir)/opt.c
$(srcdir)/xlat.c > _match.h
@if cmp _match.h $(srcdir)/match.h > /dev/null 2>&1; then \
@@ -122,18 +121,17 @@ $(srcdir)/match.stamp: byte.def byte.c opt.c xlat.c
else \
mv _match.h $(srcdir)/match.h; \
fi
- @echo timestamp > $(srcdir)/match.stamp
+ @echo timestamp > $@
# rules for invoking genprims
# Try to economize in the rebuilds, by avoiding unnecessary
# changes to the timestamp of prims.inl
-$(srcdir)/prims.inl: $(srcdir)/prims.stamp
+$(srcdir)/prims.inl: prims.stamp
@:
-$(srcdir)/prims.stamp: prims.def
- @$(MAKE) genprims$(EXEEXT)
+prims.stamp: prims.def genprims$(EXEEXT)
@echo "./genprims$(EXEEXT) < $(srcdir)/prims.def > prims.inl"; \
./genprims$(EXEEXT) < $(srcdir)/prims.def > _prims.inl
@if cmp _prims.inl $(srcdir)/prims.inl > /dev/null 2>&1; then \
@@ -142,17 +140,16 @@ $(srcdir)/prims.stamp: prims.def
else \
mv _prims.inl $(srcdir)/prims.inl; \
fi
- @echo timestamp > $(srcdir)/prims.stamp
+ @echo timestamp > $@
# rules for invoking genvm
# Try to economize in the rebuilds, by avoiding unnecessary
# changes to the timestamp of vm.inl
-$(srcdir)/vm.inl: $(srcdir)/vm.stamp
+$(srcdir)/vm.inl: vm.stamp
@:
-$(srcdir)/vm.stamp: vm.def
- @$(MAKE) genvm$(EXEEXT)
+vm.stamp: vm.def genvm$(EXEEXT)
@echo "./genvm$(EXEEXT) < $(srcdir)/vm.def | awk '{ /^#/ &&
gsub(/__oline__/,NR+1); print }' > vm.inl"; \
./genvm$(EXEEXT) < $(srcdir)/vm.def | awk '{ /^#/ &&
gsub(/__oline__/,NR+1); print }' > _vm.inl
@if cmp _vm.inl $(srcdir)/vm.inl > /dev/null 2>&1; then \
@@ -161,7 +158,7 @@ $(srcdir)/vm.stamp: vm.def
else \
mv _vm.inl $(srcdir)/vm.inl; \
fi
- @echo timestamp > $(srcdir)/vm.stamp
+ @echo timestamp > $@
# rules for invoking gperf
# not fully idiot-proof but only to be run by maintainers
@@ -180,9 +177,3 @@ $(srcdir)/vm.stamp: vm.def
done
builtins.inl: builtins.gperf
-
-dist-hook:
- for i in $(STAMP_FILES); do \
- echo timestamp > $(distdir)/$$i; \
- done
-
--
1.7.12.rc0.129.g61b472e
- Re: [Help-smalltalk] My "forks" of GNU projects to test Automake-NG, (continued)
- Re: [Help-smalltalk] My "forks" of GNU projects to test Automake-NG, Stefano Lattarini, 2012/08/19
- Re: [Help-smalltalk] My "forks" of GNU projects to test Automake-NG, Paolo Bonzini, 2012/08/20
- Re: [Help-smalltalk] My "forks" of GNU projects to test Automake-NG, Stefano Lattarini, 2012/08/20
- [Help-smalltalk] [PATCH 0/5] build: refactoring and preparations for Automake-NG, Stefano Lattarini, 2012/08/20
- [Help-smalltalk] [PATCH 2/5] build: prefer pattern rules over suffix rules, Stefano Lattarini, 2012/08/20
- [Help-smalltalk] [PATCH 1/5] build: use $(AM_CPPFLAGS), not $(INCLUDES), Stefano Lattarini, 2012/08/20
- [Help-smalltalk] [PATCH 3/5] build: don't use files with non-standard extensions in _SOURCES, Stefano Lattarini, 2012/08/20
- [Help-smalltalk] [PATCH 4/5] svnprintf: modernize and improve its build system, Stefano Lattarini, 2012/08/20
- Re: [Help-smalltalk] [PATCH 4/5] svnprintf: modernize and improve its build system, Paolo Bonzini, 2012/08/21
- Re: [Help-smalltalk] [PATCH 4/5] svnprintf: modernize and improve its build system, Stefano Lattarini, 2012/08/21
- [Help-smalltalk] [PATCH 5/5] build: reorganize some stamp files' handling,
Stefano Lattarini <=
- Re: [Help-smalltalk] [PATCH 0/5] build: refactoring and preparations for Automake-NG, Paolo Bonzini, 2012/08/21
- [Help-smalltalk] [BUG] Possible hang of make with tricky use of BUILT_SOURCES (was: Re: [PATCH 0/5] build: refactoring and preparations for Automake-NG), Stefano Lattarini, 2012/08/21
- Re: [Help-smalltalk] [PATCH 0/5] build: refactoring and preparations for Automake-NG, Stefano Lattarini, 2012/08/21
- Re: [Help-smalltalk] [PATCH 0/5] build: refactoring and preparations for Automake-NG, Paolo Bonzini, 2012/08/21
- [Help-smalltalk] [PATCH] build: support and require Automake-NG (was: Re: [PATCH 0/5] build: refactoring and preparations for Automake-NG), Stefano Lattarini, 2012/08/21
- Re: [Help-smalltalk] [PATCH] build: support and require Automake-NG, Paolo Bonzini, 2012/08/21
- Re: [Help-smalltalk] [PATCH] build: support and require Automake-NG, Stefano Lattarini, 2012/08/21
- Re: [Help-smalltalk] [PATCH] build: support and require Automake-NG, Paolo Bonzini, 2012/08/21
- [Help-smalltalk] Automake vs. Automake-NG (was: Re: [PATCH] build: support and require Automake-NG), Stefano Lattarini, 2012/08/21
- Re: [Help-smalltalk] Automake vs. Automake-NG, Paolo Bonzini, 2012/08/21