On 6/13/2016 4:31 PM, Mark Millard wrote: > 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 $* > The targets (at top-level) that META_MODE is applied to is a whitelist now after r301887. So it's safe to always pass it when building from the top-level. If it's an unsupported target it will internally disable META_MODE. > > [Based on current behavior I normally only use WITH_META_MODE=yes for the host targeting its own architecture.] Cross should be fine now. > > > === > Mark Millard > markmi_at_dsl-only.net > -- Regards, Bryan Drewery
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC