1 |
Daniel Robbins wrote: |
2 |
|
3 |
>Hi All, |
4 |
> |
5 |
>Thought some people may be interested in this email from the dietlibc |
6 |
>mailing list. This is one of the reasons we don't use "make" for our |
7 |
>ports system. |
8 |
> |
9 |
>----- Forwarded message from Felix von Leitner <leitner@××××.de> ----- |
10 |
> |
11 |
>To: dietlibc@××××.de |
12 |
>Date: Mon, 18 Jun 2001 22:45:47 +0200 |
13 |
>From: Felix von Leitner <leitner@××××.de> |
14 |
>Subject: Why make(1) sucks |
15 |
> |
16 |
snipped |
17 |
|
18 |
> |
19 |
>I checked in that script as contrib/static.pl. It will write the new |
20 |
>Makefile to sMakefile. I expected a noticeable performance increase in |
21 |
>make after the first part was done (remove wildcard and patsubst), but |
22 |
>the pause increased to 7.5 seconds on my Athlon 900. Huh? |
23 |
> |
24 |
snipped |
25 |
|
26 |
> |
27 |
>So I did an strace and found out that every occurrance of $(OBJDIR) |
28 |
>prompted make to recalculate $(ARCH), i.e. run uname and sed! |
29 |
> |
30 |
This is obviously a problem with GNU Make, and can be fixed. |
31 |
|
32 |
> |
33 |
>Now that I see why make sucks, I'm working on a solution. The obvious |
34 |
>solution is to simply run make again setting MYARCH to something. When |
35 |
>I do that with the static dependencies, make takes 0.08 seconds to |
36 |
>notice that it does not have to do anything. |
37 |
> |
38 |
>Felix |
39 |
> |