help-make
[Top][All Lists]
Advanced

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

RE: Existing file does not exist?!?


From: Hiebert, Darren \(MS\)
Subject: RE: Existing file does not exist?!?
Date: Wed, 3 Jan 2007 07:11:29 -0800

I found the reason make is reporting the file as non-existent. It is
because the target file is declared .PHONY. For whatever reason, make
treats (or reports) such files as if they never exist, rather than as a
separate class of phony targets. This led me down a wild goose chase
trying to find out why the file did not exist. And, yes, there was a
deliberate reason why this file which really exists was declared phony
(always want to invoke the rule under certain conditions).

Might I suggest changing how make reports phony targets?

-----Original Message-----
From: Paul Smith [mailto:address@hidden 
Sent: Tuesday, January 02, 2007 7:05 PM
To: Dave Korn
Cc: Hiebert, Darren (MS); address@hidden
Subject: RE: Existing file does not exist?!?

On Tue, 2007-01-02 at 20:35 +0000, Dave Korn wrote:
> On 02 January 2007 20:16, Hiebert, Darren (MS) wrote:

> > Under what circumstances can a file be reported by make as not 
> > existing when it does exist?

> When it doesn't exist in the directory(ies) that make is searching in 
> for it.

Another possibility is you're running afoul of GNU make's directory
caching.  To improve performance GNU make will cache the contents of
directories the first time it needs to read them.  Thereafter make's
internal cache is updated by make itself, as it updates targets.

However, if you have sneaky rules which create files that aren't listed
as targets in your makefile, then make has no way to know that they've
been created and so its internal cache will not reflect the reality on
the filesystem.

This can cause GNU make to think that files don't exist which actually
have been created.

To know whether this is the case for sure we'd need to see an example
that fails.

--
------------------------------------------------------------------------
-------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad
Scientist




reply via email to

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