Date: Mon, 28 Apr 2014 08:27:31 -0600 From: Ian Lepore <ian@FreeBSD.org> To: Julian Elischer <julian@FreeBSD.org> Cc: FreeBSD Current <current@FreeBSD.org> Subject: Re: Make variables to force non default libraries and includes? Message-ID: <1398695251.61646.214.camel@revolution.hippie.lan> In-Reply-To: <535E60AF.6050905@freebsd.org> References: <535E083A.9060906@freebsd.org> <1398687583.61646.207.camel@revolution.hippie.lan> <535E60AF.6050905@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2014-04-28 at 22:07 +0800, Julian Elischer wrote: > On 4/28/14, 8:19 PM, Ian Lepore wrote: > > On Mon, 2014-04-28 at 15:50 +0800, Julian Elischer wrote: > >> I need to do the equivalent of "cd /usr/src/cddl/usr.sbin/dtrace; > >> make DESTDIR=/mumble all install" > >> > >> but it pulls in libraries from the base system, which differ slightly > >> from those in the source tree. > >> > >> How can I force it to use /mumble2/include and /mumble2/lib instead of / ? > >> > >> I can pre-populate /mumble2 using "make buildworld", "make libraries", > >> and "make includes" but > >> I need to be able to do selective builds of just subdirectories after > >> that.. I haven't spotted the right way of forcing the use of the > >> "--system_root /mumble2" option in the compiles. > >> > >> I know we do it in 'buildworld' is there a more generic way? > >> > >> I have been looking in the .mk files but I haven't spotted it so far. > >> > >> An option woudl be a way to 'enter' a buildworld and just rebuild or > >> reinstall small specified parts of it. > >> Unfortunately at the moment I see no option other than a lot of > >> WITHOUT_XXX and 'build everything'. > >> > >> > >> Julian > > The 'buildenv' target does the "enter a buildworld" thing. Just "make > > buildenv" and you get a shell with all the environment variables set up > > for doing builds (or cross-builds if you set TARGET_ARCH) within that > > source tree. If csh isn't your favorite shell, set BUILDENV_SHELL in > > your environment. There's also a "buildenvvars" target that will let > > you capture the environment you need so that you can use it within your > > own build scripts without needing an interactive shell. > > > > -- Ian > > > > > > > > > oh man that is just what I'm looking for > Is there a single command for populating the buildenv resources? > i.e. to compile and install all the tools and libraries (and includes > etc) (into /usr/obj/usr/src/tmp... ) "make toolchain" should do that. There's also kernel-toolchain for building just the kernel; I think the only difference between the two is that kernel-toolchain doesn't build userland includes and libs. -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1398695251.61646.214.camel>