Makefile.inc1: Split _cleanworldtmp out from _worldtmp

This mirrors _cleanobj vs _obj, and will be used by etcupdate to ensure
its build tree has host tools available when BUILD_WITH_STRICT_TMPPATH
is enabled by default (whether in the source tree, like CheriBSD, or in
a system config file).

Note that due to line length the .MAKE .PHONY dependency line is split
into two, one for the filtered WMAKE_TGTS and one for the filtered
.ALLTARGETS.

Reviewed by:	brooks, jhb
Differential Revision:	https://reviews.freebsd.org/D41190
This commit is contained in:
Jessica Clarke 2023-07-27 05:10:48 +01:00
parent 65f28f63a7
commit 8fc3059b00
2 changed files with 12 additions and 6 deletions

View File

@ -172,7 +172,7 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
list-old-dirs list-old-files list-old-libs \
obj objlink showconfig tags toolchain \
makeman sysent \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
_cleanworldtmp _worldtmp _legacy _bootstrap-tools _cleanobj _obj \
_build-tools _build-metadata _cross-tools _includes _libraries \
builddtb xdev xdev-build xdev-install \
xdev-links native-xtools native-xtools-install stageworld stagekernel \

View File

@ -1028,12 +1028,12 @@ _cleanobj_fast_depend_hack: .PHONY
ALL_libcompats=${_ALL_libcompats:Q} \
sh ${.CURDIR}/tools/build/depend-cleanup.sh ${OBJTOP}
_worldtmp: .PHONY
_cleanworldtmp: .PHONY
.if ${MK_CLEAN} == "yes"
@echo
@echo "--------------------------------------------------------------"
@echo ">>> Rebuilding the temporary build tree"
@echo ">>> Cleaning up the temporary build tree"
@echo "--------------------------------------------------------------"
.if ${MK_CLEAN} == "yes"
rm -rf ${WORLDTMP}
.else
# Note: for delete-old we need to set $PATH to also include the host $PATH
@ -1059,6 +1059,11 @@ _worldtmp: .PHONY
@rm -f ${WORLDTMP}/usr/bin/ld ${WORLDTMP}/usr/bin/ld.lld
.endif # ${USING_SYSTEM_LINKER} == "yes"
.endif # ${MK_CLEAN} == "yes"
_worldtmp: .PHONY
@echo
@echo "--------------------------------------------------------------"
@echo ">>> Rebuilding the temporary build tree"
@echo "--------------------------------------------------------------"
@mkdir -p ${WORLDTMP}
@touch ${WORLDTMP}/${.TARGET}
# We can't use mtree to create the worldtmp directories since it may not be
@ -1174,7 +1179,7 @@ everything: .PHONY
WMAKE_TGTS=
.if !defined(WORLDFAST)
WMAKE_TGTS+= _sanity_check _worldtmp _legacy
WMAKE_TGTS+= _sanity_check _cleanworldtmp _worldtmp _legacy
.if empty(SUBDIR_OVERRIDE)
WMAKE_TGTS+= _bootstrap-tools
.endif
@ -1690,7 +1695,8 @@ _cleankernobj_fast_depend_hack: .PHONY
.endfor
.endif
${WMAKE_TGTS:N_worldtmp:${libcompats:@v@Nbuild${v}@:ts:}} ${.ALLTARGETS:M_*:N_worldtmp}: .MAKE .PHONY
${WMAKE_TGTS:N_cleanworldtmp:N_worldtmp:${libcompats:@v@Nbuild${v}@:ts:}}: .MAKE .PHONY
${.ALLTARGETS:M_*:N_cleanworldtmp:N_worldtmp}: .MAKE .PHONY
# record kernel(s) build time in seconds
.if make(buildkernel)