Re: buildworld: specifying an alternate make.conf
Date: Tue, 03 Oct 2023 14:45:44 UTC
Am 03.10.23 um 16:08 schrieb Paul Procacci:
>
>
> On Tue, Oct 3, 2023 at 10:05 AM Ede Wolf <listac@nebelschwaden.de
> <mailto:listac@nebelschwaden.de>> wrote:
>
> Hello,
>
> to my understanding of man make and make.conf, which admittedly is very
> limited, I should be able to specify an alternate make.conf with this
> syntax:
>
> # make -D __MAKE_CONF=<PATH>/make.conf buildworld
>
> Now, since this looks somewhat strage - nowhere else I have found make
> variables with double underscores - and before wasting hours of
> compiling, I am wondering, is above correct? Or did I miss[understand]
> anything?
>
> Thanks
>
> Ede
>
>
> That syntax is the correct syntax.
> Here's a partial shell script I use for compiling stripped FBSD images
> which uses other variables besides __MAKE_CONF should you need examples
> of them too:
>
> SRC=/usr/src
> POOL=tank
> DESTDIR=/jails/templates/13.1-RELEASE
> THRDS=`sysctl -n hw.ncpu`
> SRCCONF=`pwd`/src.conf
> SRC_ENV_CONF=`pwd`/src-env.conf
> __MAKE_CONF=`pwd`/make.conf
>
> zfs create -o compression=gzip-9 -o dedup=on -o mountpoint=${DESTDIR}
> ${POOL}${DESTDIR}
> env SRCCONF=$SRCCONF SRC_ENV_CONF=$SRC_ENV_CONF __MAKE_CONF=$__MAKE_CONF
> make -C $SRC -j$THRDS world DESTDIR=$DESTDIR
> env SRCCONF=$SRCCONF SRC_ENV_CONF=$SRC_ENV_CONF __MAKE_CONF=$__MAKE_CONF
> make -C $SRC distribution DESTDIR=$DESTDIR
> cp /etc/resolv.conf $DESTDIR/etc/
> zfs snapshot ${POOL}${DESTDIR}@initial
>
> ~Paul
>
Hello Paul,
thanks very much again, but that seems not to be working for me. My
approach is slightly simpler than yours. My make conf:
$ cat /data/admin/build/vbox/make.conf
#
MAKE_SHELL?=sh
SRCCONF=/data/admin/build/vbox/src.conf
SRC_ENV_CONF=/data/admin/build/vbox/src-env.conf
KERNCONF=VBOX
WITHOUT_MODULES=linux
PORTSDIR=/clutter/ports
WRKDIRPREFIX=/clutter/work
DISTDIR=/clutter/binpkg
-----
So here I am obviously referencing to another src-env.conf:
$ cat /data/admin/build/vbox/src-env.conf
MAKEOBJDIRPREFIX=/clutter/obj/vbox
-----
Still, when calling my above command:
$ make -D __MAKE_CONF=/data/admin/build/vbox/make.conf -j 4 buildworld
the obj dir is being created below /usr and not, where it should go, below:
/clutter/obj/vbox.
So it appears at least, my make.conf is not being used.
I've also tried to export __MAKE_CONF in the shell I am calling make
buildworld. Should be equivalent to your env command. Using /bin/sh, not
csh.
No change here, however. On 14 Beta-4, but that should not matter.
Thanks
Ede