On Thu, Nov 21, 2002 at 04:30:02PM -0700, M. Warner Losh wrote: > In message: <[EMAIL PROTECTED]> > David Schultz <[EMAIL PROTECTED]> writes: > : Thus spake John Baldwin <[EMAIL PROTECTED]>: > : > Make release is a very poor example b/c make release goes to great > : > efforts to create a clean-room environment for a release. make > : > rerelease is quite helpful though and does do what you want to > : > restart a previous release. :) Also, make buildworld -DNOCLEAN > : > isn't too shabby, though if I could do make TARGET_ARCH=alpha > : > everything I would prefer that. > : > : I have long wondered why NOCLEAN isn't the default. There seem to > : be a few cases where it doesn't DTRT for kernel builds, but it > : seems a bit conservative to make incremental world builds require > : that an undocumented variable be defined. Any ideas? > > Because the number of times that NOCLEAN screws you is high enough > that we don't want to hear the noise from novice users.... > I would like to point out that NOCLEAN is only safe to use if sources did not change in between, or you know the nature of the change and are sure that it does not require cleaning .OBJDIR. It is common to see a problem with NOCLEAN caused by changes to makefiles. For example, with this Makefile:
a: b c cat ${.ALLSRC} > ${.TARGET} You first `make a' and later modify the Makefile to read: a: c b cat ${.ALLSRC} > ${.TARGET} If you don't clean .OBJDIR before repeating `make a', you'll get the (`a' is up to date.) message, and the result will be wrong. Cheers, -- Ruslan Ermilov Sysadmin and DBA, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
msg47181/pgp00000.pgp
Description: PGP signature