"Paul D. Smith" wrote:
> 
> Without more details it's pretty hard to give advice.  Try running "make
> -d", which will generate voluminous output, then look and see if you can
> see anything seriously wrong.  If you have make 3.79, you can try to cut
> down on the output somewhat with the special --debug options (see the
> manual).
> 
> Look especially for: make deciding to re-exec; it should never need to
> do this with the advanced dependencies.
> 
> Also look for very complex implicit rule searches.  It could well be a
> great timesaver to run make with the -r option (or define an empty
> .SUFFIXES target which is almost as good--see the manual on these) and
> then explicitly specify only those implicit rules you really need.  The
> manual tells you how to generate a complete list of the default rules
> database, so you can duplicate the rules you want (if you want to use
> the standard definitions).

Thanks a lot for the help. I solved it just before I got your mail,
but your suggestions were (coincidentally) exactly what led me to the
solution. In case it will help others, I'll document the process I
followed. 

First, I tried commenting out various things in the Makefile to
try and determine what was taking so long. I narrowed it down to
the VPATH definition. For every directory I had in VPATH, make
would think for about 2 seconds. 2 seconds * 30 directories =
1 minute of computation, which is what I was seeing. That definitely
seemed wrong to me.

Second, I used the -d option to try and figure out what make was
spending so much time on. I saw all finds of references to implicit
rules that didn't apply to me.

Third, to get rid of those irrelevant implicit rules, I used the
-r option. Bingo! The make computation time fell to around 3 seconds
total. Problem solved.

Mark Kohler
[EMAIL PROTECTED]
Nomadix, Inc.

Reply via email to