Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 96 17:28:58 MDT
From:      Greg Lehey <lehey.pad@sni.de>
To:        kmitch@phantasma.bevc.blacksburg.va.us (Keith Mitchell)
Cc:        questions@freebsd.org
Subject:   Re: Installing SRC tree on more than one computer?
Message-ID:  <199604161530.RAA25224@nixpbe.pdb.sni.de>
In-Reply-To: <199604151620.MAA22034@phantasma.bevc.blacksburg.va.us>; from "Keith Mitchell" at Apr 15, 96 12:20 pm

next in thread | previous in thread | raw e-mail | index | archive | help
>
> I want to be able to compile a source tree (-current or -stable) on one
> computer and install it on a bunch of others.
>
> Can I do a "make world" on the compiling computer (in a chrooted-type
> environment) and then mount that on the other computers via NFS and do
> a "make install"?

The simple answer is "it doesn't work like that".  If you look at the
"world" target in /usr/src/Makefile, you'll see that it in fact just
invokes a whole lot of other targets:

+ world:  hierarchy mk cleandist includes lib-tools libraries tools
+         @echo "--------------------------------------------------------------"
+         @echo " Rebuilding ${DESTDIR} The whole thing"
+         @echo "--------------------------------------------------------------"
+         @echo
+         ${MAKE} depend all install
+         cd ${.CURDIR}/share/man &&              ${MAKE} makedb

For those of you who have not delved into the dirty innards of make,
this is pretty much equivalent to

+ world:  hierarchy mk cleandist includes lib-tools libraries tools depend all install

This means "to make world, make in sequence all the targets that
follow the colon (:)".  In particular, cleandist removes everything
(this is why you can't interrupt a make world and resume where you
left off), and at the end it performs a make install.

> Is this possible??  OriIs there a better way of achieving this??  Right now I
> am primarily concerned with -stable, but I would also like know if this
> procedure would need to be different on -current.

I haven't explored all the ramifications (and people tell me there are
some which might bite me), but in my nightly cron jobs I just do a
'make depend all install'.  In your case, you might get by with a
'make depend all', leaving the 'make install' for later.

Greg



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