Date: Thu, 17 Sep 2015 04:01:06 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r287898 - head/share/mk Message-ID: <201509170401.t8H416ar066558@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201509170401.t8H416ar066558>