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:50:39 +0000 (GMT)

> > Can we make gnustep-make non-recursive?
> 
> No

Sorry - just to be more explicit - the recursive invocations of make in a
gnustep-make run have been reduced to the minimum needed to do what
gnustep-make is expected to do.  You can't cut further.

Why would you want to reduce them further ?

Recursive invocations and a GNUmakefile in every directory have a big
advantage -- that if you have a project containing many libraries and
tools in different directories, you can either type 'make' top level and
that will build everything, or you just go into a specific directory and
type 'make' there and that will only build the stuff in that specific
directory (which is lot faster).

I really like that.

Also, it means every single library can be built separately; you can
easily take one library out of your group of libraries, and use it
indipendently as it contains all the building logic.  You can easily group
or regroup libraries and tools and software in directories adding a simple
top-level makefile.

The key concept is that the every bit of software has got a file attached
to it (the 'GNUmakefile') describing the building logic of that bit of
software.  And then you can easily group or regroup different bits of
software to be built together by just adding a bit describing the building
logic of the group (the top level 'GNUmakefile').

It's just a modular design which is plainly how it should be. :-)

Having a single top-level GNUmakefile which builds everything would be
worse.  If you want to take a single directory out of a project and move
it into another project, you are in trouble because I bet the top-level
GNUmakefile will be very complicated because it's building a big project
and flags and rules and everything will have been factored using a logic
which doesn't follow the directory tree logic and you'll have to do work
to extract a GNUmakefile just building the single directory you want to
export out of the project.

Anyway, thanks




reply via email to

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