Follow-up Comment #2, bug #26593 (project make):
Here's a smaller test case:
$ cat test.make
all: foo.suffix1 foo.suffix2 prefix1.foo prefix2.foo
prefix1.% prefix2.%: %.original
@echo $@
%.suffix1 %.suffix2: %.original
@echo $@
.PHONY: foo.original
# Expected output
$ make -
Follow-up Comment #1, bug #26593 (project make):
I notice that this bug was reported previously but without a fix being
proposed:
http://www.mail-archive.com/bug-make@gnu.org/msg04620.html
"Make fails on glibc build"
By the way, the previous message was posted by me (m...@mythic-beasts.com) but
---
rule.c | 52
1 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/rule.c b/rule.c
index af1cefa..3ffc6bd 100644
--- a/rule.c
+++ b/rule.c
@@ -340,35 +340,39 @@ rule_dependency_lists_equal (struct rule *rule1, struct
rule *rule
This is not used to replace any lookups yet.
---
main.c |1 +
rule.c | 75
rule.h |1 +
3 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/main.c b/main.c
index ba7f87d..351e92c 100644
--- a/main.c
+++ b/main
* Removed unused variable, simplify loop.
* Corrected comment.
---
rule.c | 13 +++--
1 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/rule.c b/rule.c
index d08383b..a12f9d1 100644
--- a/rule.c
+++ b/rule.c
@@ -61,28 +61,24 @@ unsigned int maxsuffix;
/* Compute the
Here is a series of patches to improve make's performance in handling
large numbers of pattern rules. The motivation is to make glibc's
build process faster. The change speeds up adding new pattern rules,
but it does not speed up finding pattern rules that match a given
filename.
I have not chan
---
rule.c | 95 +---
1 files changed, 55 insertions(+), 40 deletions(-)
diff --git a/rule.c b/rule.c
index ee96ec1..d08383b 100644
--- a/rule.c
+++ b/rule.c
@@ -273,6 +273,34 @@ convert_to_pattern (void)
}
+static int
+rule_targe
---
implicit.c |2 +-
rule.c | 86 +---
rule.h |7 +++--
3 files changed, 41 insertions(+), 54 deletions(-)
diff --git a/implicit.c b/implicit.c
index d239952..82f2c79 100644
--- a/implicit.c
+++ b/implicit.c
@@ -301,7 +301
I've been investigating why the glibc build process takes so long. It
takes about 1m26s on my machine for the nothing-to-do case when all
files are up-to-date.
I profiled make. It's spending around 60% of the time in
new_pattern_rule(), which does a linear search through the list of
pattern rule