svn commit: r325191 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Tue Oct 31 00:26:43 UTC 2017


Author: bdrewery
Date: Tue Oct 31 00:26:42 2017
New Revision: 325191
URL: https://svnweb.freebsd.org/changeset/base/325191

Log:
  Move some objdir handling (OBJROOT/OBJTOP) out of DIRDEPS_BUILD-only files.
  
  Sponsored by:	Dell EMC Isilon

Added:
  head/share/mk/src.sys.obj.mk   (contents, props changed)
Modified:
  head/share/mk/local.meta.sys.mk

Modified: head/share/mk/local.meta.sys.mk
==============================================================================
--- head/share/mk/local.meta.sys.mk	Tue Oct 31 00:07:41 2017	(r325190)
+++ head/share/mk/local.meta.sys.mk	Tue Oct 31 00:26:42 2017	(r325191)
@@ -7,36 +7,10 @@
 # we need this until there is an alternative
 MK_INSTALL_AS_USER= yes
 
-_default_makeobjdir=$${.CURDIR:S,^$${SRCTOP},$${OBJTOP},}
+# Default OBJROOT/MAKEOBJDIR handled in local.sys.obj.mk
+.include <src.sys.obj.mk>
 
-.if empty(OBJROOT) || ${.MAKE.LEVEL} == 0
-.if defined(MAKEOBJDIRPREFIX) && !empty(MAKEOBJDIRPREFIX)
-# put things approximately where they want
-OBJROOT:=${MAKEOBJDIRPREFIX}${SRCTOP}/
-MAKEOBJDIRPREFIX=
-.export MAKEOBJDIRPREFIX
-.endif
-.if empty(MAKEOBJDIR)
-# OBJTOP set below
-MAKEOBJDIR=${_default_makeobjdir}
-# export but do not track
-.export-env MAKEOBJDIR
-# Expand for our own use
-MAKEOBJDIR:= ${MAKEOBJDIR}
-.endif
-.if !empty(SB)
-SB_OBJROOT ?= ${SB}/obj/
-# this is what we use below
-OBJROOT ?= ${SB_OBJROOT}
-.endif
-OBJROOT ?= /usr/obj${SRCTOP}/
-.if ${OBJROOT:M*/} != ""
-OBJROOT:= ${OBJROOT:H:tA}/
-.else
-OBJROOT:= ${OBJROOT:H:tA}/${OBJROOT:T}
-.endif
-.export OBJROOT SRCTOP
-
+.if !defined(HOST_TARGET)
 # we need HOST_TARGET etc below.
 .include <host-target.mk>
 .export HOST_TARGET

Added: head/share/mk/src.sys.obj.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/mk/src.sys.obj.mk	Tue Oct 31 00:26:42 2017	(r325191)
@@ -0,0 +1,38 @@
+# $FreeBSD$
+
+_default_makeobjdir=	$${.CURDIR:S,^$${SRCTOP},$${OBJTOP},}
+
+.if empty(OBJROOT) || ${.MAKE.LEVEL} == 0
+.if defined(MAKEOBJDIRPREFIX) && !empty(MAKEOBJDIRPREFIX)
+# put things approximately where they want
+OBJROOT:=	${MAKEOBJDIRPREFIX}${SRCTOP}/
+MAKEOBJDIRPREFIX=
+.export MAKEOBJDIRPREFIX
+.endif
+.if empty(MAKEOBJDIR)
+# OBJTOP set below
+MAKEOBJDIR=	${_default_makeobjdir}
+# export but do not track
+.export-env MAKEOBJDIR
+# Expand for our own use
+MAKEOBJDIR:=	${MAKEOBJDIR}
+.endif
+.if !empty(SB)
+SB_OBJROOT?=	${SB}/obj/
+# this is what we use below
+OBJROOT?=	${SB_OBJROOT}
+.endif
+OBJROOT?=	/usr/obj${SRCTOP}/
+.if ${OBJROOT:M*/} != ""
+OBJROOT:=	${OBJROOT:H:tA}/
+.else
+OBJROOT:=	${OBJROOT:H:tA}/${OBJROOT:T}
+.endif
+.export OBJROOT SRCTOP
+.endif
+
+.if defined(MAKEOBJDIR)
+.if ${MAKEOBJDIR:M/*} == ""
+.error Cannot use MAKEOBJDIR=${MAKEOBJDIR}${.newline}Unset MAKEOBJDIR to get default:  MAKEOBJDIR='${_default_makeobjdir}'
+.endif
+.endif


More information about the svn-src-all mailing list