svn commit: r287898 - head/share/mk
Bryan Drewery
bdrewery at FreeBSD.org
Thu Sep 17 04:01:06 UTC 2015
Author: bdrewery
Date: Thu Sep 17 04:01:05 2015
New Revision: 287898
URL: https://svnweb.freebsd.org/changeset/base/287898
Log:
META_MODE: Allow MAKEOBJDIRPREFIX to work more closely to its traditional behavior.
The preferred way to modify the object directory root is to use OBJROOT.
However, setting OBJROOT to ${MAKEOBJDIRPREFIX}/${SRCTOP}/ effectively behaves
as expected.
The problem with this before was that setting OBJROOT to contain SRCTOP
resulted in a recursive replacement (/usr/obj/usr/obj/usr/src/). Anchoring to
the start of the path for replacing SRCCTOP in CURDIR resolves this by
avoiding replacing SRCTOP when CURDIR is within the OBJDIR.
Sponsored by: EMC / Isilon Storage Division
Modified:
head/share/mk/local.meta.sys.mk
Modified: head/share/mk/local.meta.sys.mk
==============================================================================
--- head/share/mk/local.meta.sys.mk Thu Sep 17 03:42:18 2015 (r287897)
+++ head/share/mk/local.meta.sys.mk Thu Sep 17 04:01:05 2015 (r287898)
@@ -7,14 +7,13 @@
# we need this until there is an alternative
MK_INSTALL_AS_USER= yes
-_default_makeobjdir=$${.CURDIR:S,$${SRCTOP},$${OBJTOP},}
+_default_makeobjdir=$${.CURDIR:S,^$${SRCTOP},$${OBJTOP},}
.if empty(OBJROOT) || ${.MAKE.LEVEL} == 0
.if !make(showconfig)
-.if defined(MAKEOBJDIRPREFIX) && exists(${MAKEOBJDIRPREFIX})
-.warning MAKEOBJDIRPREFIX not supported; setting MAKEOBJDIR...
+.if defined(MAKEOBJDIRPREFIX)
# put things approximately where they want
-OBJROOT:=${MAKEOBJDIRPREFIX}${SRCTOP:S,/src,,}/
+OBJROOT:=${MAKEOBJDIRPREFIX}${SRCTOP}/
MAKEOBJDIRPREFIX=
.export MAKEOBJDIRPREFIX
.endif
More information about the svn-src-head
mailing list