Date: Mon, 21 Jul 1997 11:18:44 +0100 From: Nik Clayton <nik@iii.co.uk> To: Donald Burr <dburr@POBoxes.com> Cc: FreeBSD Questions <freebsd-questions@FreeBSD.ORG> Subject: Re: "make" the "world" a better place -- how? Message-ID: <19970721111844.27591@iii.co.uk> In-Reply-To: <Pine.BSF.3.96.970721023941.2031A-100000@voyager.starfleet.gov>; from Donald Burr on Mon, Jul 21, 1997 at 02:48:49AM -0700 References: <Pine.BSF.3.96.970721023941.2031A-100000@voyager.starfleet.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 21, 1997 at 02:48:49AM -0700, Donald Burr wrote:
> 1. How much disk space do I need to run "make world"? (I assume that I
> need this space in the same partition as the /usr/src stuff, plus some
> room in the various /tmp directories to hold compiler output,
> correct?)
Nope. The compilation happens in (by default) /usr/obj, although you can
change it. A big win if you have multiple disks is to put /usr/src on one
disk and /usr/obj on another[1].
Not sure how much disk space you need. Probably as much again as the source
code takes up, although that's only a rough estimate.
> 2. Is "make world" the only command I need to run? (i.e. do I have to,
> for example, run "make depend" before doing it, and/or "make install"
> afterwards?)
'make world' will *generally* do everything you need to build and install
a working system. There are occasions when you might need to make another
target first.
There's no hard and fast rule for when this might be. Typically, a heads-up
will appear in the -current mailing list if this is the case. For example,
recently it's been necessary to run 'make includes' before 'make world'
when compiling -current.
If you do 'make world' and it doesn't complete, check the mailing lists,
check the mailing list archives, and if that doesn't solve the problem,
post to -current (or -stable) or whatever, and describe the problem.
> 3. Will "make world" overwrite my configuration files (I have a lot of
> them, like /etc/sendmail.cf, /etc/amd.map, /etc/rc.local, etc.)? Need
> I back them up before running it?
'make world' won't touch /etc. You need to 'upgrade /etc by hand'. Check
out
http://www.freebsd.org/tutorials/upgrade/upgrade.html
which is a detailed tutorial on how to do this.
> 4. Last, if I cannot or do not want to run a full "make world" for
> various reasons (not enough disk space, etc.), can I make a "subset"
> of "make world"? For example, if I made changes to the C library
> (libc), can I just rebuild and install that piece only? Or if I make
> changes to the "sendmail" command only? IF so, what are the commands
> to do this "sub-build"?
Generally, (and to use sendmail as an example)
# cd /usr/src/usr.sbin/sendmail
# make all
# make install
If you look at the top level Makefile in /usr/src you'll see it recursively
calls other Makefiles with some standard targets. You can just 'cd' into
these directories and call these targets yourself.
Hope that helps,
N
[1] At least, I would expect it to be a win. I've never benchmarked the
two approaches to quantify the difference. I welcome comments from people
who have done this.
--
--+==[ Nik Clayton is Just Another Perl Hacker at Interactive Investor ]==+--
Pithy quotes suck.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970721111844.27591>
