Roland Clobus | 4 May 2006 08:00
X-Face
Picon
Gravatar

[pio-develop] Re: Single Makefile (Was: Is a minimum automake version of 1.9 ok?)

On Wednesday 03 May 2006 09:34, Bas Wijnen wrote:
> On Tue, May 02, 2006 at 04:05:43PM -0700, Steve Langasek wrote:
> IMO there are two main problems with the multiple Makefiles:
> 
> - They don't get dependencies right.  editor/pioneers-editor depends 
on
>   common/libpioneers.a, but it is unable to make sure it gets built.  
Also, it
>   cannot see if it will be rebuilt.  So when doing a multithreaded 
build, it
>   may happen that both of them are out of date (but the lib does 
exist
>   already) and both get rebuilt, but the editor happens to get 
linked to the
>   old version, because the new one wasn't ready yet.
>   These things don't happen in a single-threaded build, because we 
carefully
>   chose the order that things are built in that case.  But that is 
very
>   fragile, and shouldn't be relied upon (because it breaks 
multi-threaded
>   builds ;-) ).

So this means we don't support 'make -j'.
On my computer (after a 'make clean') make takes about 30 seconds.
Why should I need -j?
The dependencies are currently correct, the common directories are 
entered first in SUBDIRS, before the other directories that need it.
I don't consider that fragile.

Is 'make -j' a requirement for a special build of Pioneers you are 
preparing?

> - They're asking for code duplication.  With some effort we have 
removed the
>   toplevel rules.make, which was included by all Makefile.ams.  I 
think it's
>   good not to need such a file (although that may be just me.  
Technically
>   there's nothing against it), but without it we can't always avoid
>   duplication of code.

The ($topdir)/rules.make was needed because we didn't know enough of 
the autotools. Since I've read the manual for the autotools, the 
contents of the rules.make was integrated into configure.ac.
If we have too much code duplication, we should move that code from 
the Makefile.ams to configure.ac

I still see no _need_ to switch to a single Makefile.

Regards,
Roland Clobus

-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

Gmane