From 776c19582f0b21866be8f85cf7b71f074dd358fc Mon Sep 17 00:00:00 2001 From: bdrewery Date: Wed, 16 Sep 2015 19:58:04 +0000 Subject: Fix check from r287867 for valid MAKEOBJDIR from top-level builds. MAKEOBJDIR is based on OBJTOP so cannot be expanded until OBJTOP is set. Reported by: Nikolai Lifanov Sponsored by: EMC / Isilon Storage Division --- share/mk/local.meta.sys.mk | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk index 10ad61b..2cdf5be 100644 --- a/share/mk/local.meta.sys.mk +++ b/share/mk/local.meta.sys.mk @@ -7,6 +7,8 @@ # we need this until there is an alternative MK_INSTALL_AS_USER= yes +_default_makeobjdir=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},} + .if empty(OBJROOT) || ${.MAKE.LEVEL} == 0 .if !make(showconfig) .if defined(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX}) @@ -16,7 +18,6 @@ OBJROOT:=${MAKEOBJDIRPREFIX}${SRCTOP:S,/src,,}/ MAKEOBJDIRPREFIX= .export MAKEOBJDIRPREFIX .endif -_default_makeobjdir=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},} .if empty(MAKEOBJDIR) # OBJTOP set below MAKEOBJDIR=${_default_makeobjdir} @@ -25,9 +26,6 @@ MAKEOBJDIR=${_default_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/ @@ -110,6 +108,12 @@ TARGET_SPEC = ${TARGET_SPEC_VARS:@v@${$v:U}@:ts,} TARGET_OBJ_SPEC:= ${TARGET_SPEC:S;,;.;g} OBJTOP:= ${OBJROOT}${TARGET_OBJ_SPEC} +.if defined(MAKEOBJDIR) +.if ${MAKEOBJDIR:M*/*} == "" +.error Cannot use MAKEOBJDIR=${MAKEOBJDIR}${.newline}Unset MAKEOBJDIR to get default: MAKEOBJDIR='${_default_makeobjdir}' +.endif +.endif + .if ${.CURDIR} == ${SRCTOP} RELDIR = . .elif ${.CURDIR:M${SRCTOP}/*} -- cgit v1.1