svn commit: r287636 - head/share/mk
Simon J. Gerraty
sjg at juniper.net
Fri Sep 11 15:24:22 UTC 2015
Julian Elischer <julian at 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
More information about the svn-src-head
mailing list