Parallelize building bootstrap-tools

Differential Revision: https://reviews.freebsd.org/D1901
MFC after: 2 weeks
Reviewed by: ian
No serious objections from: imp
This commit is contained in:
Enji Cooper 2015-02-23 05:28:17 +00:00
parent 35f612b88a
commit aebc0e3579

View File

@ -1222,6 +1222,8 @@ legacy:
# #
# bootstrap-tools: Build tools needed for compatibility # bootstrap-tools: Build tools needed for compatibility
# #
_bt= _bootstrap-tools
.if ${MK_GAMES} != "no" .if ${MK_GAMES} != "no"
_strfile= games/fortune/strfile _strfile= games/fortune/strfile
.endif .endif
@ -1245,6 +1247,8 @@ _sed= usr.bin/sed
.if ${BOOTSTRAPPING} < 1000002 .if ${BOOTSTRAPPING} < 1000002
_m4= lib/libohash \ _m4= lib/libohash \
usr.bin/m4 usr.bin/m4
${_bt}-usr.bin/m4: ${_bt}-lib/libohash
.endif .endif
.if ${BOOTSTRAPPING} < 1000014 .if ${BOOTSTRAPPING} < 1000014
@ -1254,6 +1258,8 @@ _crunch= usr.sbin/crunch
.if ${BOOTSTRAPPING} < 1000026 .if ${BOOTSTRAPPING} < 1000026
_nmtree= lib/libnetbsd \ _nmtree= lib/libnetbsd \
usr.sbin/nmtree usr.sbin/nmtree
${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd
.endif .endif
.if ${BOOTSTRAPPING} < 1000027 .if ${BOOTSTRAPPING} < 1000027
@ -1271,6 +1277,8 @@ _awk= usr.bin/awk
.if ${BOOTSTRAPPING} < 1001506 .if ${BOOTSTRAPPING} < 1001506
_yacc= lib/liby \ _yacc= lib/liby \
usr.bin/yacc usr.bin/yacc
${_bt}-usr.bin/yacc: ${_bt}-lib/liby
.endif .endif
.if ${MK_BSNMP} != "no" .if ${MK_BSNMP} != "no"
@ -1285,6 +1293,9 @@ _clang_tblgen= \
lib/clang/libllvmtablegen \ lib/clang/libllvmtablegen \
usr.bin/clang/tblgen \ usr.bin/clang/tblgen \
usr.bin/clang/clang-tblgen usr.bin/clang/clang-tblgen
${_bt}-usr.bin/clang/clang-tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport
${_bt}-usr.bin/clang/tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport
.endif .endif
# ELF Tool Chain libraries are needed for ELF tools and dtrace tools. # ELF Tool Chain libraries are needed for ELF tools and dtrace tools.
@ -1314,12 +1325,16 @@ _kerberos5_bootstrap_tools= \
kerberos5/tools/asn1_compile \ kerberos5/tools/asn1_compile \
kerberos5/tools/slc \ kerberos5/tools/slc \
usr.bin/compile_et usr.bin/compile_et
${_bt}-kerberos5/tools/slc: ${_bt}-kerberos5/lib/libroken
${_bt}-kerberos5/tools/asn1_compile: ${_bt}-kerberos5/lib/libroken
.endif .endif
bootstrap-tools: .PHONY
# Please document (add comment) why something is in 'bootstrap-tools'. # Please document (add comment) why something is in 'bootstrap-tools'.
# Try to bound the building of the bootstrap-tool to just the # 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. # FreeBSD versions that need the tool built at this stage of the build.
bootstrap-tools: .MAKE
.for _tool in \ .for _tool in \
${_clang_tblgen} \ ${_clang_tblgen} \
${_kerberos5_bootstrap_tools} \ ${_kerberos5_bootstrap_tools} \
@ -1345,12 +1360,15 @@ bootstrap-tools: .MAKE
${_crunch} \ ${_crunch} \
${_nmtree} \ ${_nmtree} \
${_vtfontcvt} ${_vtfontcvt}
${_bt}-${_tool}: .PHONY .MAKE
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
cd ${.CURDIR}/${_tool} && \ cd ${.CURDIR}/${_tool} && \
${MAKE} DIRPRFX=${_tool}/ obj && \ ${MAKE} DIRPRFX=${_tool}/ obj && \
${MAKE} DIRPRFX=${_tool}/ depend && \ ${MAKE} DIRPRFX=${_tool}/ depend && \
${MAKE} DIRPRFX=${_tool}/ all && \ ${MAKE} DIRPRFX=${_tool}/ all && \
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install
bootstrap-tools: ${_bt}-${_tool}
.endfor .endfor
# #