Index: Makefile.inc1 =================================================================== --- Makefile.inc1 +++ Makefile.inc1 @@ -175,11 +175,11 @@ .endif .endif .if ${MACHINE} == ${TARGET} && ${MACHINE_ARCH} == ${TARGET_ARCH} && !defined(CROSS_BUILD_TESTING) -OBJTREE= ${MAKEOBJDIRPREFIX} +OBJTREE= ${MAKEOBJDIRPREFIX}${.CURDIR} .else -OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH} +OBJTREE= ${MAKEOBJDIRPREFIX}${.CURDIR}/${TARGET}.${TARGET_ARCH} .endif -WORLDTMP= ${OBJTREE}${.CURDIR}/tmp +WORLDTMP= ${OBJTREE}/tmp # /usr/games added for fortune which depend on strfile BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/usr/games:${WORLDTMP}/legacy/bin XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin:${WORLDTMP}/usr/games @@ -352,8 +352,8 @@ .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" # 32 bit world -LIB32_OBJTREE= ${OBJTREE}${.CURDIR}/world32 -LIB32TMP= ${OBJTREE}${.CURDIR}/lib32 +LIB32_OBJTREE= ${OBJTREE}/world32 +LIB32TMP= ${OBJTREE}/lib32 .if ${TARGET_ARCH} == "amd64" .if empty(TARGET_CPUTYPE) @@ -473,9 +473,9 @@ .else rm -rf ${WORLDTMP}/legacy/usr/include # XXX - These three can depend on any header file. - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c + rm -f ${OBJTREE}/usr.bin/kdump/ioctl.c + rm -f ${OBJTREE}/usr.bin/kdump/kdump_subr.c + rm -f ${OBJTREE}/usr.bin/truss/ioctl.c .endif .for _dir in \ lib usr legacy/bin legacy/usr @@ -1176,6 +1176,7 @@ @echo "ERROR: Source upgrades from versions prior to 8.0 not supported."; \ false .endif +# Note that MAKEOBJDIRPREFIX here is actually the parent make's WORLDTMP. .for _tool in tools/build ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ @@ -1282,6 +1283,8 @@ # Please document (add comment) why something is in 'bootstrap-tools'. # Try to bound the building of the bootstrap-tool to just the # FreeBSD versions that need the tool built at this stage of the build. +# +# NB: For this target, MAKEOBJDIRPREFIX is the parent's ${WORLDTMP}. bootstrap-tools: .MAKE .for _tool in \ ${_clang_tblgen} \ @@ -1362,9 +1365,9 @@ # kernel-tools: Build kernel-building tools # kernel-tools: .MAKE - mkdir -p ${MAKEOBJDIRPREFIX}/usr + mkdir -p ${OBJTREE}/usr mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \ - -p ${MAKEOBJDIRPREFIX}/usr >/dev/null + -p ${OBJTREE}/usr >/dev/null # # cross-tools: Build cross-building tools @@ -1917,7 +1920,7 @@ .error XDTP variable should be an absolute path .endif -CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \ +CDBENV=MAKEOBJDIRPREFIX=${OBJTREE}/${XDDIR} \ INSTALL="sh ${.CURDIR}/tools/install.sh" CDENV= ${CDBENV} \ _SHLIBDIRPREFIX=${XDDESTDIR} \ @@ -1929,7 +1932,7 @@ CPP="${CPP} ${CD2CFLAGS}" \ MACHINE=${TARGET} MACHINE_ARCH=${TARGET_ARCH} -CDTMP= ${MAKEOBJDIRPREFIX}/${XDDIR}/${.CURDIR}/tmp +CDTMP= ${OBJTREE}/${XDDIR}/${.CURDIR}/tmp CDMAKE=${CDENV} PATH=${CDTMP}/usr/bin:${PATH} ${MAKE} ${NOFUN} CD2MAKE=${CD2ENV} PATH=${CDTMP}/usr/bin:${XDDESTDIR}/usr/bin:${PATH} ${MAKE} ${NOFUN} XDDESTDIR=${DESTDIR}/${XDTP}