bug-make
[Top][All Lists]
Advanced

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

Re: Using $(eval) to get information at the time a target is invoked


From: Paul Smith
Subject: Re: Using $(eval) to get information at the time a target is invoked
Date: Mon, 10 Jan 2011 17:22:33 -0500

On Sat, 2011-01-08 at 11:35 +0200, Eli Zaretskii wrote:
> But I wonder if this is really Windows-specific.  Could this be the
> example you asked for in Savannah bug#443 and #14617 (which was hoped
> to be solved in bug#21231)?  Can you tell me what causes Make to renew
> the cache used by $(wildcard) on GNU/Linux?  I could then try to see
> why it does not happen on Windows in this case.

There's nothing that will renew the cache (IIRC), except that the cache
has a limited size and so eventually information is removed from it that
way.

I would suspect something different: the cache is not loaded all at
once; that is, make starts looking for files and as it does so it loads
information into the cache (the cache is really implemented as a set of
hooks into the standard GNU globbing library).  When make finds what
it's looking for, it stops loading things into the cache even if only
half the files in a given directory are cached.  Then later it may go
back and load more things.

So, the order in which things appear during readdir(), I think, along
with what files make looks for, impacts what exists in the cache and
what doesn't at any given time.  And this behavior may be different on
Windows as well.


(The above is what I remember from my last foray into the caching code
which was a couple of years ago at least; it's not that complicated, I
just don't look at it much anymore--hopefully I'm not completely
imagining how things work).




reply via email to

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