help-make
[Top][All Lists]
Advanced

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

Re: suddenly, "recursive make considered harmful" makes piles of sense


From: Noel Yap
Subject: Re: suddenly, "recursive make considered harmful" makes piles of sense
Date: Tue, 18 Jan 2005 07:02:43 -0500
User-agent: Mozilla Thunderbird 0.5 (Windows/20040212)

IME, it's best to have a GNUmakefile in each directory (so anyone can do a 
gmake within any directory) and a, say, GNUprivate.mk file within each 
directory (that contains the non-common stuff).

I've seen two philosophies on this:
1. gmake within any directory will build the entire project
2. gmake within any directory will build that directory and any subdirectories 
(a la recursive make)

I personally lean towards the second philosophy which means that each GNUmakefile needs to include its corresponding GNUprivate.mk and its subdirectories' GNUprivate.mk's. To minimize maintenance on GNUmakefile, a function is used that'll just shell out and execute a "find . -name GNUprivate.mk".

HTH,
Noel

Robert P. J. Day wrote:

On Sat, 15 Jan 2005, Alessandro Vesely wrote:


"Robert P. J. Day" wrote:

[...]
and it was just yesterday that it suddenly dawned on me how to make
this much simpler, and only after i started redesigning the structure
did it occur to me that this might be what miller's paper might be
talking about.

It is not. Peter Miller's emphasis is about make being able to
traverse the whole dependency tree the way it reckons, rather that
traversing it a sub-tree at a time in the order dictated by the
top-level makefile without ever being able to see the whole tree at
once. E.g. using `include' rather than `$(MAKE)'.


yes, i see what you mean.  i hadn't actually finished the paper, but i
thought i could see what he was getting at.

still, i think philosophically there's some common ground -- i'm
seeing a definite advantage in taking control of the lower-level parts
of the build process and pulling them back to the top of the tree so i
can control the entire process all at the top level (even to the
extent, as i described in my next posting, of controlling build
options of lower levels at the very top).

i'll think on this some more.  thanks for the feedback.

rday


_______________________________________________
Help-make mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/help-make




reply via email to

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