summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-08-21 14:56:57 +0000
committerian <ian@FreeBSD.org>2014-08-21 14:56:57 +0000
commitfebf3f52037b1b9f8938c4b167c88c4293b84a22 (patch)
treeaa81df9d4fd81492cb9565ef79e009bf90d928ec /Makefile.inc1
parent1f2df2de021bdc46efbc32bac8d8c7469c0d7226 (diff)
downloadFreeBSD-src-febf3f52037b1b9f8938c4b167c88c4293b84a22.zip
FreeBSD-src-febf3f52037b1b9f8938c4b167c88c4293b84a22.tar.gz
MFC r257637, r257730, r257734, r257777, r257825, r257838, r257873:
Changes to how the aicasm tool is built. This series of changes results in the aicasm tool being built as part of the tools stages of world and kernel builds. Most of these changes will ultimately be undone when r260401 is MFC'd, but it will leave in place the new kernel-build-tool machinery (KTMAKE stuff) in case a new special kernel tool ever comes along.
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc154
1 files changed, 34 insertions, 20 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index f8ebcc0..fed4bdb 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -264,6 +264,21 @@ XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \
TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
-DWITHOUT_GDB -DNO_TESTS
+# kernel-tools stage
+KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \
+ PATH=${BPATH}:${PATH} \
+ WORLDTMP=${WORLDTMP} \
+ VERSION="${VERSION}" \
+ COMPILER_TYPE=${COMPILER_TYPE}
+KTMAKE= TOOLS_PREFIX=${WORLDTMP} MAKEOBJDIRPREFIX=${WORLDTMP} \
+ ${KTMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 \
+ DESTDIR= \
+ BOOTSTRAPPING=${OSRELDATE} \
+ SSP_CFLAGS= \
+ -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN \
+ -DNO_PIC -DNO_PROFILE -DNO_SHARED \
+ -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD
+
# world stage
WMAKEENV= ${CROSSENV} \
_SHLIBDIRPREFIX=${WORLDTMP} \
@@ -543,6 +558,7 @@ _cross-tools:
@echo ">>> stage 3: cross tools"
@echo "--------------------------------------------------------------"
${_+_}cd ${.CURDIR}; ${XMAKE} cross-tools
+ ${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools
_includes:
@echo
@echo "--------------------------------------------------------------"
@@ -1032,21 +1048,7 @@ buildkernel:
@echo "--------------------------------------------------------------"
@echo ">>> stage 2.3: build tools"
@echo "--------------------------------------------------------------"
- cd ${KRNLOBJDIR}/${_kernel}; \
- PATH=${BPATH}:${PATH} \
- MAKESRCPATH=${KERNSRCDIR}/dev/aic7xxx/aicasm \
- ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \
- -DEARLY_BUILD -f ${KERNSRCDIR}/dev/aic7xxx/aicasm/Makefile
-# XXX - Gratuitously builds aicasm in the ``makeoptions NO_MODULES'' case.
-.if !defined(MODULES_WITH_WORLD) && !defined(NO_MODULES) && exists(${KERNSRCDIR}/modules)
-.for target in obj depend all
- cd ${KERNSRCDIR}/modules/aic7xxx/aicasm; \
- PATH=${BPATH}:${PATH} \
- MAKEOBJDIRPREFIX=${KRNLOBJDIR}/${_kernel}/modules \
- ${MAKE} SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF \
- -DEARLY_BUILD ${target}
-.endfor
-.endif
+ ${_+_}cd ${.CURDIR}; ${KTMAKE} kernel-tools
.if !defined(NO_KERNELDEPEND)
@echo
@echo "--------------------------------------------------------------"
@@ -1334,10 +1336,6 @@ bootstrap-tools: .MAKE
#
# build-tools: Build special purpose build tools
#
-.if defined(MODULES_WITH_WORLD) && exists(${KERNSRCDIR}/modules)
-_aicasm= sys/modules/aic7xxx/aicasm
-.endif
-
.if !defined(NO_SHARE)
_share= share/syscons/scrnmaps
.endif
@@ -1359,7 +1357,6 @@ build-tools: .MAKE
lib/ncurses/ncurses \
lib/ncurses/ncursesw \
${_share} \
- ${_aicasm} \
usr.bin/awk \
lib/libmagic \
usr.bin/mkesdb_static \
@@ -1380,6 +1377,23 @@ build-tools: .MAKE
.endfor
#
+# kernel-tools: Build kernel-building tools
+#
+kernel-tools: .MAKE
+ mkdir -p ${MAKEOBJDIRPREFIX}/usr
+ mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
+ -p ${MAKEOBJDIRPREFIX}/usr >/dev/null
+.for _tool in \
+ sys/dev/aic7xxx/aicasm
+ ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
+ cd ${.CURDIR}/${_tool} && \
+ ${MAKE} DIRPRFX=${_tool}/ obj && \
+ ${MAKE} DIRPRFX=${_tool}/ depend && \
+ ${MAKE} DIRPRFX=${_tool}/ all && \
+ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install
+.endfor
+
+#
# cross-tools: Build cross-building tools
#
.if !defined(TARGET_ARCH) && defined(XDEV_ARCH)
OpenPOWER on IntegriCloud