discuss-gnustep
[Top][All Lists]
Advanced

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

Re: non recursive makefiles


From: Nicola Pero
Subject: Re: non recursive makefiles
Date: Mon, 10 Jan 2005 12:38:46 +0000 (GMT)

> > > > [... about 'make -j n' ... ]
> > > >
> > >
> > > There are some issues with that.
> > 
> > Could you be a little less ambiguous?
> 
> Some dependencies are not properly built in order. A wholesale clean
> must be done before a complete build. Sometimes directories are
> visited more than once.

That is correct.  The way gnustep-make works is not easily changed unless
we rewrite everything.  There are some deeply complicated issues in what
gnustep-make is supposed to do that 'force' the current design and
solutions.  It can't really be changed unless we drop make (or maybe use
new GNU make extensions not available on old platforms).

So you are stuck with what we have -- make will run recursively in all the
subdirs, and can't be run in parallel with stuff like '-j 2'.  On the up
side, the building machinery itself is really fast, extremely portable,
flexible and featureful.

What you can do to speed up compilation, if you have multiple indipendent
libraries you are building, is to just open two shells and fire up two
'make' in the two separate libraries in parallel.  That's the best I can
suggest.

The only real reason to rewrite everything would be to get rid of make but
rewriting is not worth the effort because it would be a massive effort and
just getting the same amount of functionality, flexibility, portability
and performance with another tool is a daunting task -- never mind doing
any better.

I often dreamed of writing from scratch a completely new build tool but
unless you spend a massive amount of time on designing and implementing
you have no chances of doing any better than 'make' (which is actually a
really good tool, just old) and as I don't have that much time I'll stick
with what we have.

And if we stick with make there is not much we can do about removing
recursive invocations and/or supporting 'make -j2'.

Thanks




reply via email to

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