Subject: Re: non-.WAIT bsd.subdir.mk (was Re: patches to fix make -j)
To: Todd Vierling <firstname.lastname@example.org>
From: Luke Mewburn <lukem@NetBSD.org>
Date: 12/19/2003 12:47:29
Content-Type: text/plain; charset=us-ascii
On Thu, Dec 18, 2003 at 11:25:56AM -0500, Todd Vierling wrote:
| And I found the diff, and updated it to -current; see below. In more
| detail, you can specify something like
| SUBDIR=3D a:d b:c c d:e:b e
| and you will get a guarantee that c builds before b, d builds before a,=
| e and b both build before d, regardless of -j setting. With parallelis=
| the above will indeed build c and e in parallel before proceeding with =
This is a good start, yet it lacks some functionality which we use in
"real world" situations within our build system:
1. Many uses of .WAIT are to allow a library containing common routines
to be built before the rest of a subsystem.
E.g., src/usr.sbin/lpr/common_source, which is used by=20
Your proposed syntax would greatly increase the size
and complexity of the SUBDIR variable assignment.
Maybe a "wildcard" dependency is required ("*:common_source" ?)
2. Certain subsections need to be built _and_ installed
before the build progresses. See the "build" targets in
src/Makefile and src/x11/Makefile.
Having a better way of representing this via SUBDIR
would be "most excellent".
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)
-----END PGP SIGNATURE-----