automake-ng
[Top][All Lists]
Advanced

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

Re: [Automake-NG] [PATCH] [ng] built sources: avoid unconditional recurs


From: Akim Demaille
Subject: Re: [Automake-NG] [PATCH] [ng] built sources: avoid unconditional recursive make invocation
Date: Wed, 4 Jul 2012 08:53:02 +0200

Le 3 juil. 2012 à 17:01, Stefano Lattarini a écrit :

> 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.

I know you mean very early, but "before before" might not be needed :)

> +$(foreach x,$(am.built-early),$(eval -include .am/built-sources/$(x)))

We really need to hit the file-system?  There no way to have
PHONY targets first?  About Makefile.  If not, then maybe
it would be a nice feature request for GNU Make.

> +.am/built-sources/%: | %

Wow, order-only pattern rules...


nice job!


reply via email to

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