Noel Yap <[EMAIL PROTECTED]> writes: > $(install.DIR)/common/%/.: | $(install.DIR)/common/. > @echo building $(@): $(^)
order-only dependencies do not work very well in implicit rules. This quick&dirty patch may fix the problem : --- implicit.c.orig 2002-09-04 09:26:19.000000000 +0200 +++ implicit.c 2003-11-11 22:19:19.000000000 +0100 @@ -108,6 +108,7 @@ /* This buffer records all the dependencies actually found for a rule. */ char **found_files = (char **) alloca (max_pattern_deps * sizeof (char *)); + int *found_files_im = (int *) alloca (max_pattern_deps * sizeof (int)); /* Number of dep names now in FOUND_FILES. */ unsigned int deps_found = 0; @@ -402,7 +403,9 @@ if (lookup_file (p) != 0 || ((!dep->changed || check_lastslash) && file_exists_p (p))) { - found_files[deps_found++] = xstrdup (p); + found_files[deps_found] = xstrdup (p); + found_files_im[deps_found] = dep->ignore_mtime; + ++deps_found; continue; } /* This code, given FILENAME = "lib/foo.o", dependency name @@ -413,7 +416,9 @@ DBS (DB_IMPLICIT, (_("Found prerequisite `%s' as VPATH `%s'\n"), p, vp)); strcpy (vp, p); - found_files[deps_found++] = vp; + found_files[deps_found] = vp; + found_files_im[deps_found] = dep->ignore_mtime; + ++deps_found; continue; } @@ -446,6 +451,7 @@ because every elt of FOUND_FILES is consumed or freed later. */ found_files[deps_found] = xstrdup (p); + found_files_im[deps_found] = dep->ignore_mtime; ++deps_found; continue; } @@ -546,7 +552,7 @@ } dep = (struct dep *) xmalloc (sizeof (struct dep)); - dep->ignore_mtime = 0; + dep->ignore_mtime = found_files_im[deps_found]; s = found_files[deps_found]; if (recursions == 0) { -- Benoit _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make