diff options
author | bapt <bapt@FreeBSD.org> | 2015-10-13 19:44:36 +0000 |
---|---|---|
committer | bapt <bapt@FreeBSD.org> | 2015-10-13 19:44:36 +0000 |
commit | c8d6d4a78596005d50c30c7ab4f623a601ef0b39 (patch) | |
tree | e5218cae2f48913719be46210d8d92085cb2511f /Makefile.inc1 | |
parent | 2a77c3b71d27973d4ffac086902715be69266202 (diff) | |
parent | 384c892651c52e57063356328dfcd28914bc4b15 (diff) | |
download | FreeBSD-src-c8d6d4a78596005d50c30c7ab4f623a601ef0b39.zip FreeBSD-src-c8d6d4a78596005d50c30c7ab4f623a601ef0b39.tar.gz |
Merge from head
Diffstat (limited to 'Makefile.inc1')
-rw-r--r-- | Makefile.inc1 | 80 |
1 files changed, 50 insertions, 30 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1 index 6848889..5345642 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -61,9 +61,6 @@ SUBDIR= ${SUBDIR_OVERRIDE} .else SUBDIR= lib libexec SUBDIR+=bin -.if ${MK_GAMES} != "no" -SUBDIR+=games -.endif .if ${MK_CDDL} != "no" SUBDIR+=cddl .endif @@ -257,9 +254,8 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ WORLDTMP=${WORLDTMP} \ VERSION="${VERSION}" \ MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" -BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ - ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ - DESTDIR= \ +# need to keep this in sync with targets/pseudo/bootstrap-tools/Makefile +BSARGS= DESTDIR= \ BOOTSTRAPPING=${OSRELDATE} \ SSP_CFLAGS= \ MK_HTML=no NO_LINT=yes MK_MAN=no \ @@ -267,7 +263,11 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ MK_LLDB=no MK_TESTS=no \ - MK_INCLUDES=yes + MK_INCLUDES=yes + +BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ + ${BMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \ + ${BSARGS} # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -330,6 +330,7 @@ CROSS_BINUTILS_PREFIX?=${CROSS_TOOLCHAIN_PREFIX} # support the target architecture), provide a default cross-binutils prefix. # This allows aarch64 builds, for example, to automatically use the # aarch64-binutils port or package. +.if !make(showconfig) .if !empty(BROKEN_OPTIONS:MBINUTILS_BOOTSTRAP) && \ !defined(CROSS_BINUTILS_PREFIX) CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ @@ -337,6 +338,7 @@ CROSS_BINUTILS_PREFIX=/usr/local/${TARGET_ARCH}-freebsd/bin/ .error In-tree binutils does not support the ${TARGET_ARCH} architecture. Install the ${TARGET_ARCH}-binutils port or package or set CROSS_BINUTILS_PREFIX. .endif .endif +.endif XCOMPILERS= CC CXX CPP .for COMPILER in ${XCOMPILERS} @@ -994,10 +996,17 @@ redistribute: .MAKE DISTRIBUTION=lib32 .endif -distrib-dirs distribution: .MAKE +distrib-dirs: .MAKE cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET} +distribution: .MAKE + cd ${.CURDIR}/etc; ${CROSSENV} PATH=${TMPPATH} ${MAKE} \ + ${IMAKE_INSTALL} ${IMAKE_MTREE} METALOG=${METALOG} ${.TARGET} + ${_+_}cd ${.CURDIR}; ${CROSSENV} PATH=${TMPPATH} \ + ${MAKE} -f Makefile.inc1 ${IMAKE_INSTALL} \ + METALOG=${METALOG} installconfig + # # buildkernel and installkernel # @@ -1127,6 +1136,16 @@ reinstallkernel reinstallkernel.debug: _installcheck_kernel cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${CROSSENV} PATH=${TMPPATH} \ ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//} +.if ${BUILDKERNELS:[#]} > 1 +.for _kernel in ${BUILDKERNELS:[2..-1]} + @echo "--------------------------------------------------------------" + @echo ">>> Installing kernel ${_kernel}" + @echo "--------------------------------------------------------------" + cd ${KRNLOBJDIR}/${_kernel}; \ + ${CROSSENV} PATH=${TMPPATH} \ + ${MAKE} ${IMAKE_INSTALL} KERNEL=${INSTKERNNAME}.${_kernel} ${.TARGET:S/kernel//} +.endfor +.endif distributekernel distributekernel.debug: .if empty(INSTALLKERNEL) @@ -1146,7 +1165,8 @@ distributekernel distributekernel.debug: sed -e 's|^./kernel|.|' ${DESTDIR}/${DISTDIR}/kernel.premeta > \ ${DESTDIR}/${DISTDIR}/kernel.meta .endif -.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} +.if ${BUILDKERNELS:[#]} > 1 +.for _kernel in ${BUILDKERNELS:[2..-1]} .if defined(NO_ROOT) echo "#${MTREE_MAGIC}" > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.premeta .endif @@ -1162,27 +1182,32 @@ distributekernel distributekernel.debug: ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta .endif .endfor +.endif packagekernel: .if defined(NO_ROOT) cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvf - @${DESTDIR}/${DISTDIR}/kernel.meta | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz -.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} +.if ${BUILDKERNELS:[#]} > 1 +.for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - @${DESTDIR}/${DISTDIR}/kernel.${_kernel}.meta | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .endfor +.endif .else cd ${DESTDIR}/${DISTDIR}/kernel; \ tar cvf - . | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.txz -.for _kernel in ${BUILDKERNELS:S/${INSTALLKERNEL}//} +.if ${BUILDKERNELS:[#]} > 1 +.for _kernel in ${BUILDKERNELS:[2..-1]} cd ${DESTDIR}/${DISTDIR}/kernel.${_kernel}; \ tar cvf - . | \ ${XZ_CMD} > ${DESTDIR}/${DISTDIR}/kernel.${_kernel}.txz .endfor .endif +.endif # # doxygen @@ -1237,12 +1262,12 @@ update: # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. .if ${BOOTSTRAPPING} < 1100006 -_elftoolchain_libs= lib/libelf lib/libdwarf +_elftoolchain_libs= lib/libelf lib/libdwarf .endif legacy: .if ${BOOTSTRAPPING} < 800107 && ${BOOTSTRAPPING} != 0 - @echo "ERROR: Source upgrades from versions prior to 8.0 not supported."; \ + @echo "ERROR: Source upgrades from versions prior to 8.0 are not supported."; \ false .endif .for _tool in tools/build ${_elftoolchain_libs} @@ -1261,10 +1286,10 @@ legacy: # binaries is usually quite narrow. Bootstrap tools use the host's compiler and # libraries, augmented by -legacy. # -_bt= _bootstrap-tools +_bt= _bootstrap-tools .if ${MK_GAMES} != "no" -_strfile= games/fortune/strfile +_strfile= usr.bin/fortune/strfile .endif .if ${MK_GCC} != "no" && ${MK_CXX} != "no" @@ -1304,6 +1329,8 @@ _cat= bin/cat .if ${BOOTSTRAPPING} < 1000033 _lex= usr.bin/lex + +${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 .endif # r277259 crunchide: Correct 64-bit section header offset @@ -1339,20 +1366,6 @@ ${_bt}-usr.bin/clang/clang-tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/c ${_bt}-usr.bin/clang/tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport .endif -# ELF Tool Chain libraries are needed for ELF tools and dtrace tools. -# dtrace tools are required for older bootstrap env and cross-build -# pre libdwarf -.if ${BOOTSTRAPPING} < 1100006 || (${MACHINE} != ${TARGET} || \ - ${MACHINE_ARCH} != ${TARGET_ARCH}) -.if ${MK_CDDL} != "no" -_dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf cddl/usr.bin/ctfconvert \ - cddl/usr.bin/ctfmerge - -${_bt}-cddl/usr.bin/ctfconvert: ${_bt}-cddl/lib/libctf -${_bt}-cddl/usr.bin/ctfmerge: ${_bt}-cddl/lib/libctf -.endif -.endif - # Default to building the GPL DTC, but build the BSDL one if users explicitly # request it. _dtc= usr.bin/dtc @@ -1392,7 +1405,6 @@ bootstrap-tools: .PHONY .for _tool in \ ${_clang_tblgen} \ ${_kerberos5_bootstrap_tools} \ - ${_dtrace_tools} \ ${_strfile} \ ${_gperf} \ ${_groff} \ @@ -1489,6 +1501,13 @@ _btxld= usr.sbin/btxld .endif .endif +# Rebuild ctfconvert and ctfmerge to avoid difficult-to-diagnose failures +# resulting from missing bug fixes or ELF Toolchain updates. +.if ${MK_CDDL} != "no" +_dtrace_tools= cddl/lib/libctf cddl/usr.bin/ctfconvert \ + cddl/usr.bin/ctfmerge +.endif + # If we're given an XAS, don't build binutils. .if ${XAS:M/*} == "" .if ${MK_BINUTILS_BOOTSTRAP} != "no" @@ -1532,6 +1551,7 @@ cross-tools: .MAKE ${_clang} \ ${_binutils} \ ${_elftctools} \ + ${_dtrace_tools} \ ${_cc} \ ${_btxld} \ ${_crunchide} \ |