]> git.ipfire.org Git - thirdparty/make.git/commitdiff
Formerly rule.c.~14~
authorRoland McGrath <roland@redhat.com>
Wed, 30 Jun 1993 22:40:50 +0000 (22:40 +0000)
committerRoland McGrath <roland@redhat.com>
Wed, 30 Jun 1993 22:40:50 +0000 (22:40 +0000)
rule.c

diff --git a/rule.c b/rule.c
index 5e2d19080dc12355f98beba107eb8f151032b077..ea3031ad23ead1694bcbd4840ebd25b08789e5a8 100644 (file)
--- a/rule.c
+++ b/rule.c
@@ -37,6 +37,10 @@ struct rule *last_pattern_rule;
 
 unsigned int num_pattern_rules;
 
+/* Maximum number of target patterns of any pattern rule.  */
+
+unsigned int max_pattern_targets;
+
 /* Maximum number of dependencies of any pattern rule.  */
 
 unsigned int max_pattern_deps;
@@ -66,8 +70,9 @@ count_implicit_rule_limits ()
   unsigned int namelen;
   register struct rule *rule, *lastrule;
 
-  num_pattern_rules = 0;
-  
+  num_pattern_rules = max_pattern_targets = max_pattern_deps = 0;
+  max_pattern_dep_length = 0;
+
   name = 0;
   namelen = 0;
   rule = pattern_rules;
@@ -77,9 +82,17 @@ count_implicit_rule_limits ()
       unsigned int ndeps = 0;
       register struct dep *dep;
       struct rule *next = rule->next;
-    
+      unsigned int ntargets;
+
       ++num_pattern_rules;
       
+      ntargets = 0;
+      while (rule->targets[ntargets] != 0)
+       ++ntargets;
+
+      if (ntargets > max_pattern_targets)
+       max_pattern_targets = ntargets;
+
       for (dep = rule->deps; dep != 0; dep = dep->next)
        {
          unsigned int len = strlen (dep->name);