Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Nov 2002 13:51:26 +0200
From:      Ruslan Ermilov <ru@FreeBSD.ORG>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        dschultz@uclink.Berkeley.EDU, jhb@FreeBSD.ORG, tlambert2@mindspring.com, current@FreeBSD.ORG
Subject:   Re: Why isn't NOCLEAN the default?
Message-ID:  <20021122115126.GE11000@sunbay.com>
In-Reply-To: <20021121.163002.08630706.imp@bsdimp.com>
References:  <3DDD2CB8.7E080912@mindspring.com> <XFMail.20021121143119.jhb@FreeBSD.org> <20021121220220.GB6062@HAL9000.homeunix.com> <20021121.163002.08630706.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--WkfBGePaEyrk4zXB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 21, 2002 at 04:30:02PM -0700, M. Warner Losh wrote:
> In message: <20021121220220.GB6062@HAL9000.homeunix.com>
>             David Schultz <dschultz@uclink.Berkeley.EDU> writes:
> : Thus spake John Baldwin <jhb@FreeBSD.ORG>:
> : > 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=3Dalpha
> : > everything I would prefer that.
> :=20
> : 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?
>=20
> Because the number of times that NOCLEAN screws you is high enough
> that we don't want to hear the noise from novice users....
>=20
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,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--WkfBGePaEyrk4zXB
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE93ho+Ukv4P6juNwoRAuTrAJ4hcaP28sTfHxrhC1h9Y6avzkvLxQCfaIjx
wc+hFfMR6y4SGwNQftr54RI=
=TnX6
-----END PGP SIGNATURE-----

--WkfBGePaEyrk4zXB--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021122115126.GE11000>