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