Technically, you oughtn't even rely on the left-to-right traversal since the order is undefined /and/ will even occur in parallel when the -j flag is used. Makefiles ought to be coded with -j in mind.
HTH, Noel
John Graham-Cumming wrote:
On Mon, 2005-02-07 at 09:54, Robert P. J. Day wrote:
$(Program): build_msg (OBJECTS) $(BUILTINS_DEP) ... ... regular commands here ...
.PHONY: build_msg build_msg: @printf ... building $(Program) ...
the text reads:
"Because the printf is in a phony target, the message is printed immediately before any prerequisites are updated."
really?
No. Just try an experiment:
.PHONY: all all: real-target phony-target other-real-target
real-target: ; @echo $@ other-real-target: ; @echo $@
.PHONY: phony-target phony-target: ; @echo $@
And you'll see the output is
real-target phony-target other-real-target
Try permuting the prerequisites of all and you see that Make traverses them left to right. PHONY only affects whether the prerequisite will be updated or not.
John.
_______________________________________________ Help-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-make
