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"

Reply via email to