Re: Make variables to force non default libraries and includes?

From: Julian Elischer <julian_at_freebsd.org>
Date: Mon, 28 Apr 2014 23:11:57 +0800
On 4/28/14, 10:27 PM, Ian Lepore wrote:
> 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.
excellent !

> -- Ian
>
>
>
>
Received on Mon Apr 28 2014 - 13:12:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:48 UTC