[bug #35062] Add lazy evaluation of prerequisites
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
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