Date: Mon, 10 Jun 1996 12:07:49 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: wollman@lcs.mit.edu (Garrett Wollman) Cc: terry@lambert.org, current@FreeBSD.org Subject: Re: Minor nit in build process plus fix Message-ID: <199606101907.MAA04055@phaeton.artisoft.com> In-Reply-To: <9606101506.AA11944@halloran-eldar.lcs.mit.edu> from "Garrett Wollman" at Jun 10, 96 11:06:41 am
next in thread | previous in thread | raw e-mail | index | archive | help
> > I was thinking in terms of the top level make setting an environment > > variable. The problem is really "..", not "paths relative to the > > build root". > > This presupposes that there /is/ a ``top level make''. When I'm > rebuilding `w', I don't start from /usr/src, I start from > /usr/src/usr.bin/w (or, on my distribution-building box, from > /usr/releng/src/usr.bin/w). Or a top level environment variable, when you do that. Like having a CVSROOT around, you'd need a SRCROOT. I'd suggest a default of /usr/src, if none is specified. Then I can have a symlink tree: /usr/src -> /a/smp /a/current: COPYRIGHT CVS CVS-INFO Makefile README TODO TODO-2.1 bin -> /b/src-current/bin eBones -> /b/src-current/eBones etc -> /b/src-current/etc games -> /b/src-current/games gnu -> /b/src-current/gnu include -> /b/src-current/include lib -> /b/src-current/lib libexec -> /b/src-current/libexec lkm -> /b/src-current/lkm ports -> /b/src-current/ports release -> /b/src-current/release sbin -> /b/src-current/sbin secure -> /b/src-current/secure share -> /b/src-current/share sys -> /b/src-current/sys usr.bin -> /b/src-current/usr.bin usr.sbin -> /b/src-current/usr.sbin /a/smp: COPYRIGHT CVS CVS-INFO Makefile README TODO TODO-2.1 bin -> /b/src-current/bin eBones -> /b/src-current/eBones etc -> /b/src-current/etc games -> /b/src-current/games gnu -> /b/src-current/gnu include -> /b/src-current/include lib -> /b/src-current/lib libexec -> /b/src-current/libexec lkm -> /b/src-current/lkm ports -> /b/src-current/ports release -> /b/src-current/release sbin -> /b/src-current/sbin secure -> /b/src-current/secure share -> /b/src-current/share sys -> /b/src-smp/sys <-- *** usr.bin -> /b/src-current/usr.bin usr.sbin -> /b/src-current/usr.sbin If I don't want to change SRCROOT, I do the build in the top level source directory (which pulls it via pwd in the top Makefile *only*, or I change the symlink /usr/src. One problem with building from the top each time is that the dependencies don't necessarily work like they are supposed to for preventing rebuilds of some things. If that's a problem for you, you can always fix them. 8-). Maybe a k.bin/k.usr.bin for kernel header dependent build files that go in /bin or /usr/bin, to seperate out their build? Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199606101907.MAA04055>