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.