help-make
[Top][All Lists]
Advanced

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

Re: Why are phony order-only prerequisites always fired?


From: Akim Demaille
Subject: Re: Why are phony order-only prerequisites always fired?
Date: Thu, 5 May 2011 17:02:16 +0200

Le 5 mai 2011 à 16:12, Greg Chicares a écrit :

Hi Greg,

> On 2011-05-05 13:05Z, Akim Demaille wrote:
>> 
>> This file is declared phony because there's no visible way for Make to know
>> when to update it: just update it each time we need it.
> 
> Okay, but that file is a prerequisite of a target that 'make' does update...

What do you mean by "update"?  If you mean "run the corresponding recipe", then 
no:

$ make
date >>revision.sty

Make has updated revision.sty, but it has not run the recipes of either foo.pdf 
or bar.pdf. 

>> Yet, GNU Make seems to always run the recipes of the order-only prerequisites
> 
> Because the prerequisite is phony.
> 
> http://www.gnu.org/software/make/manual/html_node/Phony-Targets.html
> | A phony target should not be a prerequisite of a real target file;
> | if it is, its recipe will be run every time make goes to update that file.

Yes, I read this, but my understanding was that this text referred to regular 
prerequisites, not the order-only ones.  And indeed this paragraph does not 
apply to order-only prerequisite as precisely, that file is not updated (which 
is good, I'm only wondering why the order-only prerequisite is updated anyway).

Or I have misunderstood something.




reply via email to

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