Don't create directories in ${WORLDTMP}/legacy with mtree
This has two advantages: 1) We no longer create lots of empty directories that are not needed 2) This is a requirement for building on non-FreeBSD hosts since mtree will only exist after the bootstrap-tools phase there. Aproved By: jhb (mentor) Differential Revision: https://reviews.freebsd.org/D16773
This commit is contained in:
parent
078018e0ac
commit
4acc8a67ba
@ -968,29 +968,10 @@ _worldtmp: .PHONY
|
|||||||
.endif # !defined(NO_CLEAN)
|
.endif # !defined(NO_CLEAN)
|
||||||
@mkdir -p ${WORLDTMP}
|
@mkdir -p ${WORLDTMP}
|
||||||
@touch ${WORLDTMP}/${.TARGET}
|
@touch ${WORLDTMP}/${.TARGET}
|
||||||
|
# We can't use mtree to create the worldtmp directories since it may not be
|
||||||
.for _dir in \
|
# available on the target system (this happens e.g. when building on non-FreeBSD)
|
||||||
lib lib/casper lib/geom usr legacy/bin legacy/usr
|
cd ${.CURDIR}/tools/build; \
|
||||||
mkdir -p ${WORLDTMP}/${_dir}
|
${MAKE} DIRPRFX=tools/build/ DESTDIR=${WORLDTMP}/legacy installdirs
|
||||||
.endfor
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
|
|
||||||
-p ${WORLDTMP}/legacy/usr >/dev/null
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
|
|
||||||
-p ${WORLDTMP}/legacy/usr/include >/dev/null
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
|
|
||||||
-p ${WORLDTMP}/usr >/dev/null
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
|
|
||||||
-p ${WORLDTMP}/usr/include >/dev/null
|
|
||||||
ln -sf ${.CURDIR}/sys ${WORLDTMP}
|
|
||||||
.if ${MK_DEBUG_FILES} != "no"
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
|
|
||||||
-p ${WORLDTMP}/legacy/usr/lib >/dev/null
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
|
|
||||||
-p ${WORLDTMP}/usr/lib >/dev/null
|
|
||||||
.endif
|
|
||||||
.for _mtree in ${LOCAL_MTREE}
|
|
||||||
${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
|
|
||||||
.endfor
|
|
||||||
_legacy:
|
_legacy:
|
||||||
@echo
|
@echo
|
||||||
@echo "--------------------------------------------------------------"
|
@echo "--------------------------------------------------------------"
|
||||||
@ -1003,6 +984,19 @@ _bootstrap-tools:
|
|||||||
@echo ">>> stage 1.2: bootstrap tools"
|
@echo ">>> stage 1.2: bootstrap tools"
|
||||||
@echo "--------------------------------------------------------------"
|
@echo "--------------------------------------------------------------"
|
||||||
${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools
|
${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools
|
||||||
|
mkdir -p ${WORLDTMP}/usr ${WORLDTMP}/lib/casper ${WORLDTMP}/lib/geom
|
||||||
|
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
|
||||||
|
-p ${WORLDTMP}/usr >/dev/null
|
||||||
|
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
|
||||||
|
-p ${WORLDTMP}/usr/include >/dev/null
|
||||||
|
ln -sf ${.CURDIR}/sys ${WORLDTMP}
|
||||||
|
.if ${MK_DEBUG_FILES} != "no"
|
||||||
|
${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
|
||||||
|
-p ${WORLDTMP}/usr/lib >/dev/null
|
||||||
|
.endif
|
||||||
|
.for _mtree in ${LOCAL_MTREE}
|
||||||
|
${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
|
||||||
|
.endfor
|
||||||
_cleanobj:
|
_cleanobj:
|
||||||
.if !defined(NO_CLEAN)
|
.if !defined(NO_CLEAN)
|
||||||
@echo
|
@echo
|
||||||
|
@ -59,4 +59,17 @@ SUBDIR= cross-build
|
|||||||
# Needed to build config (since it uses libnv)
|
# Needed to build config (since it uses libnv)
|
||||||
SYSINCS+= ${SRCTOP}/sys/sys/nv.h ${SRCTOP}/sys/sys/cnv.h
|
SYSINCS+= ${SRCTOP}/sys/sys/nv.h ${SRCTOP}/sys/sys/cnv.h
|
||||||
|
|
||||||
|
|
||||||
|
# Create all the directories that are needed during the legacy, bootstrap-tools
|
||||||
|
# and cross-tools stages. We do this here using mkdir since mtree may not exist
|
||||||
|
# yet (this happens if we are crossbuilding from Linux/Mac).
|
||||||
|
installdirs:
|
||||||
|
.for _dir in bin sbin usr/bin usr/sbin usr/lib usr/include lib/geom lib/casper
|
||||||
|
mkdir -p "${DESTDIR}/${_dir}"
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
.for _group in ${INCSGROUPS:NINCS}
|
||||||
|
mkdir -p "${DESTDIR}/${${_group}DIR}"
|
||||||
|
.endfor
|
||||||
|
|
||||||
.include <bsd.lib.mk>
|
.include <bsd.lib.mk>
|
||||||
|
Loading…
Reference in New Issue
Block a user