On Thu, 2016-10-06 at 11:47 -0700, Kyle Rose wrote: > On Thu, Oct 6, 2016 at 11:38 AM, Paul Smith <psm...@gnu.org> wrote: > > You should include the version of GNU make that you're using; my > > version works as expected: > > > > $ make --version > > GNU Make 4.2.1 > > Funny you should mention that: > > $ make --version > GNU Make 4.2.1 > > 4.2.1 definitely broken, at least on my system.
It works on my system. I've tried it multiple times. I'm using Ubuntu GNOME 16.04.1, with GNU libc 2.23, on an ext4 filesystem. I can't explain why your system is behaving differently. Perhaps your version of libc has an issue with the glob() or fnmatch() functions (it's happened before). Or maybe there's a bug in GNU make which is system-dependent in some way. > >> Why not refresh the cache when the directory's mtime has changed? > > > > Because not all systems have the same rules for directory mtime as > > POSIX does, so that's not a reliable/portable indicator. > > What does POSIX have to say about returning the wrong value for > $(wildcard ...)? Nothing. POSIX doesn't define make functions like $(wildcard ...); those are a purely GNU make construct. > > There's no question the caching needs to be improved. > > In any event, the existing behavior is a flat-out defect and should > be corrected. Clearly, but it appears to be a defect that can only reproduced on your system (so far), so you'll have to do a bit more digging. Rewriting the directory caching facility isn't the answer. _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make