[bug #35062] Add lazy evaluation of prerequisites

2011-12-13 Thread Lukasz Mielicki
URL:
  http://savannah.gnu.org/bugs/?35062

 Summary: Add lazy evaluation of prerequisites
 Project: make
Submitted by: lmielick
Submitted on: Wed 14 Dec 2011 01:16:59 AM GMT
Severity: 3 - Normal
  Item Group: Enhancement
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: None
Operating System: Any
   Fixed Release: None
   Triage Status: None

___

Details:

The idea is not to evaluate prerequisites of target not being make goals. Such
approach would improve non-recursive make performance by skipping unnecessary
wildcard/shell calls for targets not being build.

E.g. the following Makefile would output only:
A prerequisites evaluated

all: a
a: $(info A prerequisites evaluated)
b: $(info B prerequisites evaluated)
.PHONY: a b all

This could be handled in a way similar to .SECONDEXPANSION not to cause
compatibility issues in cases where prerequisites expansions  causes side
effects. However greater care may be needed to support eval.





___

Reply to this item at:

  http://savannah.gnu.org/bugs/?35062

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make


[bug #35062] Add lazy evaluation of prerequisites

2011-12-13 Thread Paul D. Smith
Update of bug #35062 (project make):

  Status:None = Wont Fix   
 Open/Closed:Open = Closed 

___

Follow-up Comment #1:

Sorry but this would completely change make in a way that's massively
incompatible... and confusing.

For example, today if you say:

PRE = foo
all: $(PRE)
PRE = bar
all: $(PRE)

foo bar: ; @echo $@


You'll see foo then bar.  With your suggested change you would see just
bar (no foo).

This is such a complete abrogation of the historical behavior of make that I
don't think it's appropriate, even as an option (especially since it would be
an enormous amount of work to implement).

___

Reply to this item at:

  http://savannah.gnu.org/bugs/?35062

___
  Message sent via/by Savannah
  http://savannah.gnu.org/


___
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make