svn commit: r290424 - in head: . share/mk

Bryan Drewery bdrewery at FreeBSD.org
Thu Nov 5 22:28:33 UTC 2015


Author: bdrewery
Date: Thu Nov  5 22:28:31 2015
New Revision: 290424
URL: https://svnweb.freebsd.org/changeset/base/290424

Log:
  Allow 'make buildenv' to work anywhere in the src tree.
  
  Sponsored by:	EMC / Isilon Storage Division

Added:
  head/share/mk/src.init.mk   (contents, props changed)
Modified:
  head/Makefile.inc1
  head/share/mk/local.init.mk

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Thu Nov  5 22:09:00 2015	(r290423)
+++ head/Makefile.inc1	Thu Nov  5 22:28:31 2015	(r290424)
@@ -773,7 +773,7 @@ buildworld_epilogue:
 # modification of the current environment's PATH.  In addition, we need
 # to quote multiword values.
 #
-buildenvvars:
+buildenvvars: .PHONY
 	@echo ${WMAKEENV:Q} ${.MAKE.EXPORTED:@v@$v=\"${$v}\"@}
 
 .if ${.TARGETS:Mbuildenv}
@@ -781,9 +781,11 @@ buildenvvars:
 .error The buildenv target is incompatible with -j
 .endif
 .endif
-buildenv:
+BUILDENV_DIR?=	${.CURDIR}
+buildenv: .PHONY
 	@echo Entering world for ${TARGET_ARCH}:${TARGET}
-	@cd ${.CURDIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} || true
+	@cd ${BUILDENV_DIR} && env ${WMAKEENV} BUILDENV=1 ${BUILDENV_SHELL} \
+	    || true
 
 TOOLCHAIN_TGTS=	${WMAKE_TGTS:N_depend:Neverything:Nbuild32}
 toolchain: ${TOOLCHAIN_TGTS}

Modified: head/share/mk/local.init.mk
==============================================================================
--- head/share/mk/local.init.mk	Thu Nov  5 22:09:00 2015	(r290423)
+++ head/share/mk/local.init.mk	Thu Nov  5 22:28:31 2015	(r290424)
@@ -38,3 +38,5 @@ CPP=		${HOST_CPP}
 HOST_CFLAGS+= -DHOSTPROG
 CFLAGS+= ${HOST_CFLAGS}
 .endif
+
+.-include "src.init.mk"

Added: head/share/mk/src.init.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/share/mk/src.init.mk	Thu Nov  5 22:28:31 2015	(r290424)
@@ -0,0 +1,11 @@
+# $FreeBSD$
+
+.if !target(__<src.init.mk>__)
+__<src.init.mk>__:
+
+.if !target(buildenv)
+buildenv: .PHONY
+	@env BUILDENV_DIR=${.CURDIR} ${MAKE} -C ${SRCTOP} buildenv
+.endif
+
+.endif	# !target(__<src.init.mk>__)


More information about the svn-src-all mailing list