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

In 2010's make-3.82, which is where this behavior changed, and later releases,
the rule appears like this in make -p:


my_dir/hello.txt: | my_dir/


In make-3.81, it didn't have the trailing slash.  $(dir) still produced a
trailing slash there.  From printf debugging, I think the trailing slash was
being removed by the call to multi_glob in parse_prereqs, as it was then
called.  That was removed by this part:


diff --git a/file.c b/file.c
index a618beb..4e3bece 100644
--- a/file.c
+++ b/file.c
@@ -415,8 +415,7 @@ struct dep *
 parse_prereqs (char *p)
 {
   struct dep *new = (struct dep *)
-    multi_glob (parse_file_seq (&p, '|', sizeof (struct dep), 1),
-                sizeof (struct dep), 0);
+    parse_file_seq (&p, sizeof (struct dep), '|', NULL, 0);
 
   if (*p)
     {
@@ -426,8 +425,7 @@ parse_prereqs (char *p)
 
       ++p;
       ood = (struct dep *)
-        multi_glob (parse_file_seq (&p, '\0', sizeof (struct dep), 1),
-                    sizeof (struct dep), 0);
+        parse_file_seq (&p, sizeof (struct dep), '\0', NULL, 0);
 
       if (! new)
         new = ood;


... of this commit:

2009-09-16 17:07:01 +0000 psm...@gnu.org
(8f30b68871bde8687c7fcff8bac66e2b5765129e)

- Add xcalloc() and call it - Fix memory errors found by valgrind - Remove
multi_glob() and empower parse_file_seq() to do its job:   the goal here is to
remove the confusing reverse/re-reverse we do on   the file lists: needed for
future fixes. - Add a prefix arg to parse_file_seq() - Make concat() variadic
so it can take arbitrary #'s of strings


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?50376>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to