summaryrefslogtreecommitdiff
path: root/lib/Automake
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-07-03 11:46:56 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-07-03 17:00:25 +0200
commitdecd002437a649c617bd2bd4079bf6e603c474e8 (patch)
treeb5b0c859baabb31c24cde99ec9c470604f38fbee /lib/Automake
parent5fdd743164e2b15a385b19a14108bdacb6c76218 (diff)
downloadautomake-decd002437a649c617bd2bd4079bf6e603c474e8.tar.gz
[ng] built sources: avoid unconditional recursive make invocation
With this change, the times for a null-build of GNU coreutils (as averaged from ten builds on an aging Debian system) drops from ~3.8 seconds to ~2.6 seconds. With this change, the semantic of $(BUILT_SOURCES) support is slightly altered, in that $(BUILT_SOURCES) will now be built not only before the "all", "check" or "install" targets, but before *any* target. We believe that not only this change in semantics is justified by the enhanced performance, but that the new semantics is actually better than the old one. So a double win. The new and more complex implementation is a price worth paying for those improvements. * lib/am/all-target.am: New implementation of $(BUILT_SOURCES) support, using more GNU make features (mostly, automatic remake of include files and automatic restart in the face of rebuilt makefiles). This new implementation should ensure that $(BUILT_SOURCES) will be built before before any other target. * lib/am/check-target.am, lib/am/install.am: Simplify: now there's no need to explicitly cater for $(BUILT_SOURCES) in the 'check' and 'install' targets. * t/built-sources-subdir.sh: Adjust and enhance a little. * t/remake-gnulib-remove-header.sh: Trivial adjustment (relying on the fact that .PHONY works correctly for GNU make, also when applied to targets that are existing files). * t/suffix-hdr.sh: Adjust, to avoid GNU make erroneously remove a generated header thinking it is an intermediate file. * t/yacc-deleted-headers.sh: Adjust: we should expect non-existing $(BUILT_SOURCES) to be rebuilt by *any* make invocation. * t/yacc-mix-c-cxx.sh: Likewise. * NG-NEWS (Source Files with Unknown Extensions): Adjust the example to mirror the change. (Miscellaneous): Document the new $(BUILT_SOURCES) semantic. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'lib/Automake')
0 files changed, 0 insertions, 0 deletions