mergemaster internally using make [for example] vs. WITH_META_MODE?
Mark Millard
markmi at dsl-only.net
Mon Jun 13 23:31:39 UTC 2016
On 2016-Jun-13, at 3:27 PM, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
> On 6/11/2016 7:28 PM, Mark Millard wrote:
>> mergemaster [as an example] has code like:
>>
>>> # grep -i make /usr/sbin/mergemaster | more
>> . . .
>>> MM_MAKE="make ${ARCHSTRING} -m ${SOURCEDIR}/share/mk"
>>> ${MM_MAKE} DESTDIR=${DESTDIR} distrib-dirs >/dev/null
>>> ${MM_MAKE} DESTDIR=${TEMPROOT} distrib-dirs >/dev/null &&
>>> ${MM_MAKE} _obj SUBDIR_OVERRIDE=etc >/dev/null &&
>>> ${MM_MAKE} everything SUBDIR_OVERRIDE=etc >/dev/null &&
>>> ${MM_MAKE} DESTDIR=${TEMPROOT} distribution >/dev/null;} ||
>> . . .
>>
>> If one is using WITH_META_MODE= for buildworld, buidlkernel, installkernel, installworld what is appropriate for scripts or other uses of make for other makefile-targets?
>>
>> Are there explicit mixes of using WITH_META_MODE= for some makefile targets and not using WITH_META_MODE= for other makefile targets that need to be avoided? Does one need to force some scripts to use [or not use] WITH_META_MODE= for their "internal" make usage?
>>
>
> Is there an actual bug with mergemaster with WITH_META_MODE?
>
>
> --
> Regards,
> Bryan Drewery
I do not know. I was not sure if lack of WITH_META_MODE=yes for mergemaster's internal make uses might mess up later make commands that use WITH_META_MODE=yes for explicit make activities. Overall that would be a mix of with and without.
As stands I use the following script for mergemaster (TARGET_ARCH=amd64 example):
# more ~/sys_build_scripts.amd64-host/mergemaster_amd64-amd64-host.sh
script ~/sys_typescripts/typescript_mergemaster_amd64-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF="/root/src.configs/make.conf" SRC_ENV_CONF="/root/src.configs/src.conf.amd64-clang-bootstrap.amd64-host" \
MAKEOBJDIRPREFIX="/usr/obj/clang/amd64.amd64" \
mergemaster -A amd64 $*
I've not added WITH_META_MODE=yes to the env yet.
I've been wondering if I should add WITH_META_MODE=yes to such scripts when the matching "make" script uses WITH_META_MODE=yes --such as:
# more ~/sys_build_scripts.amd64-host/make_amd64_nodebug_clang_bootstrap-amd64-host.sh
kldload -n filemon && \
script ~/sys_typescripts/typescript_make_amd64_nodebug_clang_bootstrap-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
env __MAKE_CONF="/root/src.configs/make.conf" SRC_ENV_CONF="/root/src.configs/src.conf.amd64-clang-bootstrap.amd64-host" \
WITH_META_MODE=yes \
MAKEOBJDIRPREFIX="/usr/obj/clang/amd64.amd64" \
make $*
[Based on current behavior I normally only use WITH_META_MODE=yes for the host targeting its own architecture.]
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-current
mailing list