Follow-up Comment #1, bug #14617 (project make):

I'm seeing the same problem, I believe, on RHEL 4 with Make 3.80.  In my
case, I'm testing for a (target-like) directory with $(wildcard $(DIR)), then
creating the directory.  In my real Makefile, a later sanity test with $(if
$(wildcard $(DIR)) then aborts, even though the directory does indeed exist.

I see the need for cacheing to minimize the time spent calling stat(2), as
mentioned in bug #443, but I think there should be some mechanism to
invalidate the cache.

The easiest would be to invalidate the cache when a shell command is invoked.
 Possibly make this an attribute for some target trees via a phony target like
.PRECIOUS:

.INVALIDATE_CACHE_WHEN_SHELLING:  targ1 targ2

.INVALIDATE_CACHE_WHEN_SHELLING:  # no dependencies = "always"

Of course a less stupid name would be preferable.

Or an explicit function: $(invalidate_cache), possibly accepting a list of
filenames: $(invalidate_cache file1 file2) if it's not too much work.

Anyway, I'm uploading an example Makefile that demonstrates the problem, and
the output from "make -d -p".
    _______________________________________________________

Additional Item Attachment:

File name: wildcard-cache.tgz             Size:5 KB
tgz w/ Makefile & output  illustrating $(wildcard) cacheing problem
<http://savannah.gnu.org/bugs/download.php?file_id=10317>

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=14617>

_______________________________________________
  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

Reply via email to