non-recursive make (was: [PATCH input-synaptics 2/5] Do not install ChangeLog and README with documentation)

Daniel Stone daniel at fooishbar.org
Tue Jun 14 16:49:12 PDT 2011


On Tue, Jun 14, 2011 at 04:02:45PM -0700, Dan Nicholson wrote:
> On Tue, Jun 14, 2011 at 12:31 PM, Alan Coopersmith
> <alan.coopersmith at oracle.com> wrote:
> > xserver on the other hand is huge and could probably be much more parallel
> > via a non-recursive top-level makefile, but that makefile would be scarily
> > complex.
> 
> If you honestly tried to put all the xserver build in a single
> Makefile, you'd want to stab yourself shortly after. One of the real
> advantages of recursive make is that skipping parts of the build is
> really easy. You just put the subdir under an AM_CONDITIONAL and
> you're done. The actual Makefiles in the subdirectory can stay clean
> because they're being skipped completely. If you wanted to put that
> all in a single unit, you'd end up with an insane maze of
> AM_CONDITIONALs that no one could understand.

In fairness, you can more or less get there via includes, but then you
have to be mad fascist about trying to keep a load of separate Makefile
fragments from stepping on each others' toes.

> You know how it's nice when you get rid of #ifdefs in code? This is
> the opposite of that process.

Heh.

So, something just occurred to me: even worse than the recursion for me
is the final link into libxorg.a and libxorgtest.a, which seems to be
caused by per-target flags? On my MacBook Air, all interactivity
completely dies for about 20 seconds while that link goes on, which
never used to happen.  So if we could get rid of that, maybe things
would be a lot quicker.

Cheers,
Daniel


More information about the xorg-devel mailing list