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