Instead of modeling the kernel-tools build after the bootstrap tools, build

kernel tools the way cross-tools get built.  This seems to result in the
tool getting installed in the right place.  It also seems more correct in
retrospect, because if a tool emitted code or binary data as part of
building the kernel, it should do so in target-specific ways (endianess,
architecture, whatever).  That issue is moot for aicasm, our only current
tool, but it still seems to be more correct in principle.
This commit is contained in:
ian 2013-11-07 22:50:42 +00:00
parent 61b2701568
commit b7b6449f7c

View File

@ -439,16 +439,6 @@ IMAKE_MTREE= MTREE_CMD="nmtree ${MTREEFLAGS}"
KMAKEENV= ${WMAKEENV}
KMAKE= ${KMAKEENV} ${MAKE} ${.MAKEFLAGS} ${KERNEL_FLAGS} KERNEL=${INSTKERNNAME}
# kernel build-tools stage
KTMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \
${WMAKEENV} ${MAKE} -f Makefile.inc1 \
TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
DESTDIR= \
BOOTSTRAPPING=${OSRELDATE} \
SSP_CFLAGS= \
-DNO_LINT \
-DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD
#
# buildworld
#
@ -1029,7 +1019,7 @@ buildkernel:
@echo "--------------------------------------------------------------"
@echo ">>> stage 2.3: build tools"
@echo "--------------------------------------------------------------"
${_+_}cd ${.CURDIR}; ${KTMAKE} kernel-tools
${_+_}cd ${.CURDIR}; ${XMAKE} kernel-tools
.if !defined(NO_KERNELDEPEND)
@echo
@echo "--------------------------------------------------------------"
@ -1360,9 +1350,9 @@ build-tools: .MAKE
# kernel-tools: Build kernel-building tools
#
kernel-tools: .MAKE
mkdir -p ${WORLDTMP}/usr
mkdir -p ${MAKEOBJDIRPREFIX}/usr
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-p ${WORLDTMP}/usr >/dev/null
-p ${MAKEOBJDIRPREFIX}/usr >/dev/null
.for _tool in \
sys/dev/aic7xxx/aicasm
${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
@ -1370,7 +1360,7 @@ kernel-tools: .MAKE
${MAKE} DIRPRFX=${_tool}/ obj && \
${MAKE} DIRPRFX=${_tool}/ depend && \
${MAKE} DIRPRFX=${_tool}/ all && \
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${WORLDTMP} install
${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install
.endfor
#