help-make
[Top][All Lists]
Advanced

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

Re: do phony deps take "precedence" over regular deps?


From: Noel Yap
Subject: Re: do phony deps take "precedence" over regular deps?
Date: Mon, 07 Feb 2005 10:59:31 -0500
User-agent: Mozilla Thunderbird 0.5 (Windows/20040212)

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.




reply via email to

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