help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Disabling updating of makefiles


From: Greg Chicares
Subject: Re: Disabling updating of makefiles
Date: Wed, 12 Jul 2006 01:02:15 +0000
User-agent: Thunderbird 1.5.0.4 (Windows/20060516)

On 2006-7-11 10:20 UTC, Colm Aengus Murphy wrote:
> 
> We are using Paul Smith's "Advanced Auto-Dependancy Generation" 
> (http://make.paulandlesley.org/autodep.html) to great effect.
> However as the number of source files increase make slows down.
> The reason is that when you launch make it reads in an make file for
> each source file. This can take some time.
> Then it tried to update them.
> I have added a rule to speed up its decision to remake them but it still
> slows make down.

What rule did you add? I'm using

  -include *.d
  *.d:: ;

but I don't think I ever actually looked into whether the double-colon
rule has any real effect, so I'd be glad to learn the "right" way to
do this.

> Is there any way to disable the updating of makefiles altogether ?
> 
> Has anyone else solved the scaleability issue with having a make file
> for each source file ?
> 
> The speed issue is most apparent on windows when make can take 20
> seconds before it even begins to check if it needs to update any object
> files.

I don't see anything like a twenty-second overhead on the msw platform,
but I only have a few hundred source files. Do you have more than that?
My '.d' files average about 20K each; are yours larger? If you're using
'-MD' instead of '-MMD' with gcc tools to generate the dependency files,
that might make things a lot slower.

> We are already running with make -R to avoid make trying its own builtin
> rules (as an aside this option doesn't work in a MAKEFLAGS variable for
> some reason).

The manual says:
| You can also set MAKEFLAGS in a makefile, to specify additional flags
| that should also be in effect for that makefile.
Can you post a testcase that shows that to be incorrect?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]