automake
[Top][All Lists]
Advanced

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

RE: Parallel builds and SUBDIRS


From: Dan Kegel
Subject: RE: Parallel builds and SUBDIRS
Date: Fri, 17 May 2002 23:40:06 -0700

Yep, I've implemented a build system with that property recently.
I promised to post a writeup here, but haven't gotten a round tuit.
Maybe it would be useful if I posted part of a project that uses
that build system.  The basic idea is it's a cross-platform project
that needs to generate code for four different architectures:
ppc405, ppc750, sh4, and i386.  I wanted to do all builds in the
same run of Make, but I also wanted to be able to cd anywhere
and build everything at that level and below.  The trick was to
use absolute paths, to put all the interesting logic for a directory
in a makefile fragment named make.defs.in, and use autoconf
to put a copy of all the makefile fragments in an output subtree for
each architecture.  Here's most of that build system; it doesn't
run in this form, but I could turn it into a working 'hello, world'
example fairly easily if there was interest.
- Dan


-----Original Message-----
From: Harlan Stenn

I agree with you, and I agree with you.

This project has several hundred subdirs and folks want to be able to go
to
any subdir and "make".

Getting there from here will be Interesting, and will take a while.

I'm looking for interim solutions.

H
--
> The Right Way to do this is to include all the
> subdir makefile fragments into one big happy
> make; then no special locking is needed.
> (A la "recursive make considered harmful".)
> 
> Boy, that's a big change, though.
> - Dan
> 
> -----Original Message-----
> From: Harlan Stenn
> 
> First, I'm not saying this is a good idea.
> 
> I'm working on a project where Somebody decided it would be a feature
to
> hack the automake templates to permit subdirs to be built in parallel.
> 
> They implemented an additional level of locking to prevent, for
example,
> a
> library that is needed by multiple subdirs from being built
> simultaneously.
> 
> I'm wondering if there is benefit to allowing SUBDIRS to be build in
> parallel by option (or default), and wondering if it's possible,
> reasonable,
> and not too difficult to use dependency lines in the "parent"
> Makefile.am to
> control serialization, ie:
> 
>  SUBDIRS = include lib bar baz foo
> 
>  lib: include
>  bar baz foo: lib
> 
> so that in a parallel build situation, we'd build include first, then
> lib,
> then bar, baz and foo in parallel.
> 
> Comments?
> 
> H

Attachment: generic.tar.gz
Description: Binary data


reply via email to

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