make -j optimization

Jeff Kinz jkinz at kinz.org
Thu Sep 30 16:33:00 EDT 2004


On Thu, Sep 30, 2004 at 04:27:30PM -0400, David Kramer wrote:
> Apparently make is not smart enough to not build things it doesn't have 
> the dependencies for yet.  Huh?  Make has one function and one function 
> only: build dependencied before the things that need them.  
> 
> I was trying to compile Rogue Wave.  There are about 20 or 30 .o target
> files that get build from .cpp files.  Then there's a library that gets
> built from the .o files.  Even though the makefile correctly had the .c
> files as dependencies for the .o files, and the .o files as dependencies
> for the library, it tried to "ar" the library together before all the .o 
> files were created, resulting in about half of them being "not found".
> 
> That blows.  How could they get that wrong?  If it's not going to be smart 
> enough to try building a target until its dependencies are built, then at 
> least only parallelize the commands to build one target at a time.

What, no "make depends" target in the makefile?


-- 
Linux/Open Source.  Now all your base belongs to you, for free.
============================================================
Idealism:  "Realism applied over a longer time period"

Jeff Kinz, Emergent Research, Hudson, MA.



More information about the Discuss mailing list