Subject: Re: non-.WAIT bsd.subdir.mk (was Re: patches to fix make -j)
To: Todd Vierling <tv@duh.org>
From: Simon J. Gerraty <sjg@crufty.net>
List: tech-toolchain
Date: 12/18/2003 17:22:43
>And I found the diff, and updated it to -current; see below.  In more
>detail, you can specify something like

>SUBDIR=		a:d b:c c d:e:b e

>and you will get a guarantee that c builds before b, d builds before a, and
>e and b both build before d, regardless of -j setting.  With parallelism,
>the above will indeed build c and e in parallel before proceeding with their
>dependents.

This is cool - but (from a look at your real-life example ;-) is it not
possible to structure these as normal dependencies?  ENOSLEEP, so not
even going to try to suggest a syntax (assuming it doesn't already exist).

>A real-life example would be to use this change to update
>src/gnu/usr.bin/gcc3/Makefile's SUBDIR definition.

>SUBDIR=		backend:libiberty:host-libiberty \
>		cc1:backend:libcpp \
>		cc1obj:backend:libcpp \
>		cc1plus:backend:libcpp \

The above just looks like it would quickly get hard to follow.

But the flexibility is nice
--sjg