Julian Elischer <jul...@freebsd.org> wrote: > > If MAKEOBJDIR is empty or not a suitable value (no '/') > > set a default that works. > > if not suitable.. it should error (with a really explicit error > message), not do something else..
How about: $ MAKEOBJDIR='obj.${MACHINE}' make -C bin/cat -DWITH_META_MODE -V .OBJDIR make: "/b/sjg/work/FreeBSD/current/src/share/mk/local.meta.sys.mk" line 29: Cannot use MAKEOBJDIR=obj.amd64 Unset MAKEOBJDIR to get default: MAKEOBJDIR='${.CURDIR:S,${SRCTOP},${OBJTOP},}' $ Index: share/mk/local.meta.sys.mk =================================================================== --- share/mk/local.meta.sys.mk (revision 287636) +++ share/mk/local.meta.sys.mk (working copy) @@ -16,15 +16,19 @@ MAKEOBJDIRPREFIX= .export MAKEOBJDIRPREFIX .endif -.if empty(MAKEOBJDIR) || ${MAKEOBJDIR:M*/*} == "" +_default_makeobjdir=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},} +.if empty(MAKEOBJDIR) # OBJTOP set below -MAKEOBJDIR=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},} +MAKEOBJDIR=${_default_makeobjdir} # export but do not track .export-env MAKEOBJDIR # now for our own use MAKEOBJDIR= ${.CURDIR:S,${SRCTOP},${OBJTOP},} .endif +.if ${MAKEOBJDIR:M*/*} == "" +.error Cannot use MAKEOBJDIR=${MAKEOBJDIR}${.newline}Unset MAKEOBJDIR to get default: MAKEOBJDIR='${_default_makeobjdir}' .endif +.endif .if !empty(SB) SB_OBJROOT ?= ${SB}/obj/ # this is what we use below _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"