Follow-up Comment #4, bug #20394 (project make): Something like that could be tricky to accomplish, since make is highly recursive: when make starts checking for timestamps on files it doesn't know whether that file was found using implicit or explicit rules, etc.
Plus, I think it would be even more confusing to have some kinds of targets (implicit) behave unexpectedly while others (explicit) behaved as expected, but more slowly. To fix this problem we need to add a way to determine if the cache is stale. My idea on how to do this is for make to keep a counter that is incremented every time make invokes a subprocess. Or maybe, from a correctness point of view, it should be updated every time a subprocess _finishes_. Then when a directory was cached it would store the current value of that counter. The next time the cached data was consulted, if the current counter was greater than the stored counter the cache would be considered stale and new data would be read. This would significantly reduce the efficiency of the cache, but it would increase correctness and the cache would still be useful while make is looking for things to build--for situations where there's very little or nothing to do the cache would still be a big win. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?20394> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make