Date: Sat, 11 Jun 2016 20:05:26 -0700 From: "Simon J. Gerraty" <sjg@juniper.net> To: Mark Millard <markmi@dsl-only.net> Cc: Bryan Drewery <bdrewery@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, <sjg@juniper.net> Subject: Re: mergemaster internally using make [for example] vs. WITH_META_MODE? Message-ID: <35353.1465700726@kaos.jnpr.net> In-Reply-To: <7C577F5B-545C-4D70-A78E-A19E35A24592@dsl-only.net> References: <7C577F5B-545C-4D70-A78E-A19E35A24592@dsl-only.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Mark Millard <markmi@dsl-only.net> wrote: > > # 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? I cannot speak to your specific example, but yes in general there are cases where you want a sub-make to not run in meta mode. Using 'make -B' is usually sufficient. Eg. $ make -C bin/cat -V .MAKE.MODE [Creating objdir /tank/home/sjg/work/FreeBSD/current/obj/i386.i386/bin/cat...] missing-meta=yes missing-filemon=yes meta verbose silent=yes $ $ make -C bin/cat -B -V .MAKE.MODE compat $ If you have a makefile that should *never* run in meta mode but you don't necessarily want to run in compat mode you can put: .MAKE.MODE= normal in the makefile > 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? The most common case where you want to use -B or otherwise supress meta mode, is when you are using 'make -V' to print the value of some variable. --sjg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35353.1465700726>