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). _______________________________________________ Bug-make mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-make
