Skip site navigation (1)Skip section navigation (2)
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>