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

Dan Nicholson dbn.lists at gmail.com
Tue Jun 14 16:02:45 PDT 2011


On Tue, Jun 14, 2011 at 12:31 PM, Alan Coopersmith
<alan.coopersmith at oracle.com> wrote:
> On 06/14/11 11:11 AM, Jamey Sharp wrote:
>> On Tue, Jun 14, 2011 at 03:53:06PM +0200, Diego Elio Pettenò wrote:
>>> Having all of xorg using non-recursive make with parallel install would
>>> indeed be sweet to avoid spending so much time with the cores idle
>>> waiting for link on modules...
>>
>> OMG yes please, at least for xserver and perhaps libX11. I can't even
>> keep a three year old dual-core saturated when building xserver.
>
> libX11 is already non-recursive in the nls subdir, and the src subdir
> has more than enough files to keep a parallel make busy - it looks like
> the only minor win you'd get there is in the small subdirs like modules
> and specs.
>
> 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.

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

--
Dan


More information about the xorg-devel mailing list