Date: Tue, 26 Aug 1997 16:02:48 +0930 From: Greg Lehey <grog@lemis.com> To: Wes Peters <softweyr@xmission.com> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Any reason not to remove /usr/obj/* ? (fwd) Message-ID: <19970826160248.15087@lemis.com> In-Reply-To: <Pine.BSF.3.96.970825230501.21041A-100000@andrsn.stanford.edu>; from Wes Peters on Mon, Aug 25, 1997 at 11:08:23PM -0700 References: <Pine.BSF.3.96.970825230501.21041A-100000@andrsn.stanford.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 25, 1997 at 11:08:23PM -0700, Wes Peters wrote:
> The definitive answer from Wes Peters--he forgot to include
> freebsd-questions on the cc: line, so here it is. I put his
> name in the "From" line.
>
> Annelise
>
> Doug White commented from on high:
> % If you're not doing any 'make world's, then /usr/obj is destroyable.
>
> Annelise Anderson writes:
>> I would like some clarification on this. There seem to be about 150
>> megabytes in my /usr/obj. I thought this was created as an intermediate
>> step in the make world process. Would leaving it there shorten the time
>> on a subsequent make world, or does everything in any case get remade?
>> If so, the only purpose of keeping these around is as a "spaceholder"
>> for a future made world.
>
> As the name implies, /usr/obj is a place where the intermediate object
> files that make up the commands, utilities, etc. are placed. If you
> change 10% of the system source between 'make world' commands, you only
> need to regenerate 10% of the object files, the rest remain untouched.
> If you remove /usr/obj, you will have to remake 100% of the object
> files, at a cost of extra computing cycles, disk I/Os, etc.
>
> In short: if you've got the disk space and are going to be rebuilding
> the world, leave 'em. If you need the disk space, grab it. If you're
> undecided, buy a Jaz drive and a cartrige for /usr/obj. ;^)
That depends on how you make your world. Normally, the first thing
that 'make world' does is to remove all the objects and start afresh.
Check /usr/src/Makefile:
# Make command line options:
# -DCLOBBER will remove /usr/include
# -DMAKE_EBONES to build eBones (KerberosIV)
# -DALLLANG to build documentation for all languages
# (where available -- see share/doc/Makefile)
#
# -DNOCLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir
# -DNOCLEAN do not clean at all
# -DNOCRYPT will prevent building of crypt versions
# -DNOLKM do not build loadable kernel modules
# -DNOOBJDIR do not run ``${MAKE} obj''
# -DNOPROFILE do not build profiled libraries
# -DNOSECURE do not go into secure subdir
# -DNOGAMES do not go into games subdir
# -DNOSHARE do not go into share subdir
# -DNOINFO do not make or install info files
# -DNOLIBC_R do not build libc_r.
# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
#
# The intended user-driven targets are:
# buildworld - rebuild *everything*, including glue to help do upgrades
# installworld- install everything built by "buildworld"
# world - buildworld + installworld
# update - convenient way to update your source tree (eg: sup/cvs)
# most - build user commands, no libraries or include files
# installmost - install user commands, no libraries or include files
#
# Standard targets (not defined here) are documented in the makefiles in
# /usr/share/mk. These include:
# obj depend all install clean cleandepend cleanobj
Greg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970826160248.15087>
