]> git.ipfire.org Git - thirdparty/make.git/commitdiff
Formerly rule.c.~2~
authorRoland McGrath <roland@redhat.com>
Tue, 24 Mar 1992 09:50:46 +0000 (09:50 +0000)
committerRoland McGrath <roland@redhat.com>
Tue, 24 Mar 1992 09:50:46 +0000 (09:50 +0000)
rule.c

diff --git a/rule.c b/rule.c
index 02302b0c85fa0bf422456bfb1a29f58aa0d81b2e..0a54f7d4671226a9a86feb434ade4785ddb39647 100644 (file)
--- a/rule.c
+++ b/rule.c
@@ -1,5 +1,5 @@
 /* Pattern and suffix rule internals for GNU Make.
-Copyright (C) 1988, 1989, 1990, 1991 Free Software Foundation, Inc.
+Copyright (C) 1988, 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
 This file is part of GNU Make.
 
 GNU Make is free software; you can redistribute it and/or modify
@@ -254,8 +254,12 @@ new_pattern_rule (rule, override)
   lastrule = pattern_rules;
   for (r = pattern_rules; r != 0; lastrule = r, r = r->next)
     for (i = 0; rule->targets[i] != 0; ++i)
-      for (j = 0; r->targets[j] != 0; ++j)
-       if (streq (rule->targets[i], r->targets[j]))
+      {
+       for (j = 0; r->targets[j] != 0; ++j)
+         if (!streq (rule->targets[i], r->targets[j]))
+           break;
+       if (r->targets[j] == 0)
+         /* All the targets matched.  */
          {
            register struct dep *d, *d2;
            for (d = rule->deps, d2 = r->deps;
@@ -274,7 +278,7 @@ new_pattern_rule (rule, override)
                  else
                    last_pattern_rule->next = rule;
                  last_pattern_rule = rule;
-
+                 
                  /* We got one.  Stop looking.  */
                  goto matched;
                }
@@ -285,6 +289,7 @@ new_pattern_rule (rule, override)
                  return 0;
                }
          }
+      }
 
  matched:;