[LLVMdev] RFC: Upcoming Build System Changes

David A. Greene greened at obbligato.org
Tue Nov 1 12:37:15 PDT 2011

Joachim Durchholz <jo at durchholz.org> writes:

> On the reasons why make-based builds are slow, Peter Miller has some 
> insight to offer:
> http://miller.emu.id.au/pmiller/books/rmch/ .
> I'm not sure how widely recognized that paper is. Maybe it's widely 
> known and today's build times stem from other things than recursive make.

The paper is widely recognized.  Its lessons, unfortunatly, are not.

Chris is absolutely on-target as to why the current build is slow.  It's
slow because recursive make hides the parallelism.  It hides the
parallelism because it hides the dependencies.  There is no way to get
around that problem with a recursive make build system.

The _only_ reason I have ever found to have a recursive make invocation
is at the very beginning of the build to set up a build directory
automatically.  That one invocation has absolutely nothing to do with
the actual build.  See:



More information about the llvm-dev mailing list