Re: source code reorg & makefiles

From: Alex Rousskov <rousskov_at_measurement-factory.com>
Date: Wed, 27 May 2009 16:31:29 -0600

On 05/11/2009 06:08 AM, Robert Collins wrote:
> I have one small request vis-a-vis the source code reorg.
>
> Please don't undo the non-recursive make support. I put a lot of effort
> into getting it where it was up to (even though that wasn't propogated
> across the entire code base). It makes a substantial difference to
> correctness, performance and ease of use of incremental builds.
>
> Where the goal is to split out a Makefile, I suggest the use of an
> include to incorporate smaller files.
>
> I can see a number of regressions in this to-date, which is why I'm
> asking that we not let it slide anymore.

I am not against non-recursive Makefiles as such, but I do not think it
is accurate to characterize the mess the SourceLayout project inherited
as a "non-recursive" or "recursive" design. It is just a mess with no
sense of direction or style. Whatever effort was spent in moving towards
one design goal is not really visible behind the problems that remained
and/or were added on top.

Moving towards recursive make was easier for me because the concept is
better understood, better documented, and is arguably simpler to
implement (dependency loops aside). We can reverse the direction now if
that's the consensus.

Here is the good news: Regardless of the non/recursive decision, most of
the SourceLayout changes are valid and useful. They properly organize
the sources files. If we decide that non-recursive make is the goal, it
would be much easier to convert to that style now (or later).

Do all modern environments have good support for large non-recursive
projects? Can somebody provide an example of a large project using
non-recursive Makefiles? Or is that just a nice idea that never really
took flight and is not being optimized/designed for?

Thank you,

Alex.
Received on Wed May 27 2009 - 22:31:44 MDT

This archive was generated by hypermail 2.2.0 : Thu May 28 2009 - 12:00:02 MDT