Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Jan 2000 02:44:38 -0800 (PST)
From:      "Rodney W. Grimes" <freebsd@gndrsh.dnsmgr.net>
To:        asmodai@wxs.nl (Jeroen Ruigrok/Asmodai)
Cc:        billf@chc-chimes.com (Bill Fumerola), marcel@FreeBSD.org (Marcel Moolenaar), cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src Makefile.inc1
Message-ID:  <200001131044.CAA31760@gndrsh.dnsmgr.net>
In-Reply-To: <20000113111542.P26217@daemon.ninth-circle.org> from Jeroen Ruigrok/Asmodai at "Jan 13, 2000 11:15:42 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> -On [20000113 08:01], Bill Fumerola (billf@chc-chimes.com) wrote:
> >On Wed, 12 Jan 2000, Marcel Moolenaar wrote:
> >
> >>   Add gross hack to work around bogus dependency information created
> >>   by gnu/usr.bin/cc/cc_tools/Makefile. This bug is painfully visible
> >>   when making buildworld with -DNOCLEAN. This work around is beyond
> >>   dirty...
> >
> >It's important to note (if this is the same error I've been experiencing)
> >that this only breaks with -DNOCLEAN _and_ a half populated /usr/obj.
> >
> >An empty /usr/obj with -DNOCLEAN works fine.
> 
> *boggle*  With all due respect, but what is the use of -DNOCLEAN when
> /usr/obj is empty? =)

It prevents a whole tree traversal running ``make clean'' in each and
every source directory saving your valuable time while waiting for
a make world regression test to run before you commit your latest
set of changes.

> The purpose of -DNOCLEAN is to reuse an X populated /usr/obj because you
> interrupted the make process and want to resume it without starting
> again from scratch.

There is more than one purpose to it, and your purpose was actually
the secondary one when I wrote it.  The first one was my above stated
one, realize it was the 486 days when it was written and even the
fastest boxes at the time had make world times of 6 hours, -DNOCLEAN
cut 20 minutes off of that!

It's only worth a minute or so today on really fast disks, but still
about 3 to 7 on modern IDE, with modern machine buildworld on the
1 hour order that can be a 10% speed up.

For those of use who like everybit of concurency and the fastest
make world possible I use this:
cd /usr/src; mv /usr/obj/src /usr/obj/x; rm -rf /usr/obj/x/tmp/ || \
chflags -R noschg /usr/obj/x/tmp
rm -rf /usr/obj/x/tmp &		# Yes, run that in the background
make -DNOCLEAN world		# No need to clean, I just did it for you
				# in the fastest way possible

And if I am in a real hurry I just at(1) the removal of the old
/usr/obj/x, since the rm competes with the make world and I have
enough space to hold 10 or 20 old obj trees around on my test
box that does most of this type work.

> 
> Or I must be misunderstanding you here.  It happens. =)

Just not looking for all the uses a knob has.... like a door knob,
you can use it to hang your coat on, but it has other uses too  :-)


-- 
Rod Grimes - KD7CAX @ CN85sl - (RWG25)               rgrimes@gndrsh.dnsmgr.net


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




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