aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2017-11-05 00:11:51 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2017-11-05 00:11:51 +0000
commit996e4759621dd7150cec5ad240e252b35a4d9db4 (patch)
tree5a6481cbaf2a6cd84ad2dbf50eaac198467401d3
parent1031b94fc4e0310b49781e0936de6486b5f836b8 (diff)
downloadsrc-996e4759621dd7150cec5ad240e252b35a4d9db4.tar.gz
src-996e4759621dd7150cec5ad240e252b35a4d9db4.zip
Fix nested MAKEOBJDIRPREFIX breaking various release/buildworld/toolchain targets.
This problem was caused by r325329 and r325350. For the release(7) targets, some will run mm-mtree.sh which itself runs make with a MAKEOBJDIRPREFIX. The execution of that script leaks OBJROOT, MAKEOBJDIR, and MAKELEVEL=1 in the environment. This causes the mm-mtree makes to not do some basic setup of OBJROOT and only use this special MAKEOBJDIRPREFIX case which fails to empty out MAKEOBJDIRPREFIX for further nested makes, such as a tree walk. If that tree walk sets OBJROOT/OBJTOP such as r325329 is doing, then the wrong OBJDIRs end up being used due to the unemptied MAKEOBJDIRPREFIX being preferred over the proper MAKEOBJDIR. Pointyhat to: bdrewery Sponsored by: Dell EMC Isilon
Notes
Notes: svn path=/head/; revision=325412
-rw-r--r--Makefile.inc12
-rw-r--r--Makefile.libcompat2
-rw-r--r--targets/pseudo/bootstrap-tools/Makefile1
3 files changed, 5 insertions, 0 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 0ee35a41d71b..e306f7dd0615 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -523,6 +523,7 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \
BSARGS= DESTDIR= \
OBJTOP='${WORLDTMP}/obj-tools' \
OBJROOT='$${OBJTOP}/' \
+ MAKEOBJDIRPREFIX= \
BOOTSTRAPPING=${OSRELDATE} \
BWPHASE=${.TARGET:C,^_,,} \
SSP_CFLAGS= \
@@ -565,6 +566,7 @@ KTMAKE= TOOLS_PREFIX=${WORLDTMP} \
DESTDIR= \
OBJTOP='${WORLDTMP}/obj-kernel-tools' \
OBJROOT='$${OBJTOP}/' \
+ MAKEOBJDIRPREFIX= \
BOOTSTRAPPING=${OSRELDATE} \
SSP_CFLAGS= \
MK_HTML=no -DNO_LINT MK_MAN=no \
diff --git a/Makefile.libcompat b/Makefile.libcompat
index 9d64fb7e326c..b8fc76c4e152 100644
--- a/Makefile.libcompat
+++ b/Makefile.libcompat
@@ -129,6 +129,7 @@ LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
LIBCOMPATWMAKE+= ${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOMPATWMAKEFLAGS} \
OBJTOP=${LIBCOMPAT_OBJTOP} \
OBJROOT='$${OBJTOP}/' \
+ MAKEOBJDIRPREFIX= \
MK_MAN=no MK_HTML=no
LIBCOMPATIMAKE+= ${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*} \
MK_TOOLCHAIN=no ${IMAKE_INSTALL} \
@@ -188,6 +189,7 @@ build${libcompat}: .PHONY
${MAKE} SSP_CFLAGS= DESTDIR= \
OBJTOP=${LIBCOMPAT_OBJTOP} \
OBJROOT='$${OBJTOP}/' \
+ MAKEOBJDIRPREFIX= \
DIRPRFX=${_dir}/ -DNO_LINT -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \
build-tools
.endfor
diff --git a/targets/pseudo/bootstrap-tools/Makefile b/targets/pseudo/bootstrap-tools/Makefile
index 49b168e37211..525320702a41 100644
--- a/targets/pseudo/bootstrap-tools/Makefile
+++ b/targets/pseudo/bootstrap-tools/Makefile
@@ -36,6 +36,7 @@ OSRELDATE?= 0
BSARGS= DESTDIR= \
OBJTOP='${WORLDTMP}/obj-tools' \
OBJROOT='$${OBJTOP}/' \
+ MAKEOBJDIRPREFIX= \
BOOTSTRAPPING=${OSRELDATE} \
BWPHASE=${.TARGET} \
SSP_CFLAGS= \