summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2015-10-13 19:44:36 +0000
committerbapt <bapt@FreeBSD.org>2015-10-13 19:44:36 +0000
commitc8d6d4a78596005d50c30c7ab4f623a601ef0b39 (patch)
treee5218cae2f48913719be46210d8d92085cb2511f /Makefile.inc1
parent2a77c3b71d27973d4ffac086902715be69266202 (diff)
parent384c892651c52e57063356328dfcd28914bc4b15 (diff)
downloadFreeBSD-src-c8d6d4a78596005d50c30c7ab4f623a601ef0b39.zip
FreeBSD-src-c8d6d4a78596005d50c30c7ab4f623a601ef0b39.tar.gz
Merge from head
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc180
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} \
OpenPOWER on IntegriCloud