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