Date: Fri, 11 Sep 2015 08:24:09 -0700 From: "Simon J. Gerraty" <sjg@juniper.net> To: Julian Elischer <julian@freebsd.org> Cc: <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@freebsd.org>, <sjg@juniper.net> Subject: Re: svn commit: r287636 - head/share/mk Message-ID: <13099.1441985049@chaos> In-Reply-To: <55F2529E.5080105@freebsd.org> References: <201509110019.t8B0JocS082576@repo.freebsd.org> <55F2529E.5080105@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer <julian@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?13099.1441985049>
