[CMake] Non-recursive makefiles

Sahn Lam sahn at pobox.com
Mon Sep 21 17:15:38 EDT 2009


Hi,
I searched the cmake list archive and found a reference in 2004 about
modifying cmake to generate non-recursive makefiles:

On Jan 30, 2004, at 2:44 PM, William A. Hoffman wrote:

>* Right now there is no way to create non-recursive makefiles.*>* We have some plans to create non-recursive makefiles.  However,*>* I am not sure one large makefile will scale for larger projects.*>* We have had problems with make on various systems and large files, or*>* too many dependencies.  We have seen that problem even with the*>* recursive make that we use.  So, I don't really agree with the paper*>* on that point.   If you are interested in trying a non-recursive*>* generator, I could point you at the right places in the code.*>* It would involve creating new class like *>* cmLocalUnixMakefileGenerator.cxx.*>

Has anyone done any work in this area?

A year ago I migrated our build system to cmake. Using distcc and a
distributed build farm, we were able to reduce build time on linux
from over an hour to about 5 minutes. I'm now looking for
opportunities to reach the next level of build performance. One thing
I identified is that with generated recursive make files we can only
send compile jobs out one directory at a time. I'm hoping that with a
non-recursive make file we'll be able to send a higher number of
independent source files out to the build farm in parallel.

I'm open to contributing code if no one has done it yet.

Thanks,

Sahn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090921/6b2248d8/attachment.htm>


More information about the CMake mailing list