summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2003-04-06 03:50:28 +0000
committerimp <imp@FreeBSD.org>2003-04-06 03:50:28 +0000
commit070e2898a0d5f648b496f43ba5c351da5da0ce0d (patch)
tree0128e1de37ab3a9e197591b92d968f4c930a3c88 /Makefile.inc1
parentb7e83c7b416e2f1f5291659e8c25e5ef7d37633b (diff)
downloadFreeBSD-src-070e2898a0d5f648b496f43ba5c351da5da0ce0d.zip
FreeBSD-src-070e2898a0d5f648b496f43ba5c351da5da0ce0d.tar.gz
We can't use ${WORLDTMP}/usr/{include,lib} for the compat layer. This
is because we populate these directories later, and a subsequent -DNOCLEAN build may fail. So, we put them in ${WORLDTMP}/build/usr/{include,lib} instead and adjust Makefile.boot. Again, this works on -stable and -current, but might break older versions. Submitted by: ru@
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc126
1 files changed, 24 insertions, 2 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index b4b3f09..8e04451 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -159,6 +159,9 @@ INSTALLTMP!= /usr/bin/mktemp -d -u -t install
#
# Building a world goes through the following stages
#
+# 1. libbuild stage [BMAKE]
+# This stage is responsible for creating compatibility shims that are
+# needed by the bootstrap-tool, build-tool and cross-tool stages.
# 1. bootstrap-tool stage [BMAKE]
# This stage is responsible for creating programs that
# are needed for backward compatibility reasons. They
@@ -276,6 +279,15 @@ _worldtmp:
mkdir -p ${WORLDTMP}/usr/include/${_dir}
.endfor
ln -sf ${.CURDIR}/sys ${WORLDTMP}
+.for _dir in lib include include/sys
+ mkdir -p ${WORLDTMP}/build/usr/${_dir}
+.endfor
+_libbuild:
+ @echo
+ @echo "--------------------------------------------------------------"
+ @echo ">>> stage 1: libbuild"
+ @echo "--------------------------------------------------------------"
+ cd ${.CURDIR}; ${BMAKE} libbuild
_bootstrap-tools:
@echo
@echo "--------------------------------------------------------------"
@@ -336,7 +348,7 @@ everything:
WMAKE_TGTS=
.if !defined(SUBDIR_OVERRIDE)
-WMAKE_TGTS+= _worldtmp _bootstrap-tools
+WMAKE_TGTS+= _worldtmp _libbuild _bootstrap-tools
.endif
WMAKE_TGTS+= _cleanobj _obj _build-tools
.if !defined(SUBDIR_OVERRIDE)
@@ -610,8 +622,18 @@ installmost:
_strfile= games/fortune/strfile
.endif
+libbuild:
+.for _tool in tools/build
+ @${ECHODIR} "===> ${_tool}"; \
+ cd ${.CURDIR}/${_tool}; \
+ ${MAKE} DIRPRFX=${_tool}/ obj; \
+ ${MAKE} DIRPRFX=${_tool}/ depend; \
+ ${MAKE} DIRPRFX=${_tool}/ all; \
+ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/build install
+.endfor
+
bootstrap-tools:
-.for _tool in tools/build ${_strfile} usr.bin/yacc usr.bin/colldef \
+.for _tool in ${_strfile} usr.bin/yacc usr.bin/colldef \
usr.bin/makewhatis usr.bin/rpcgen usr.bin/uudecode \
usr.bin/xargs usr.bin/xinstall \
usr.sbin/config usr.sbin/kbdcontrol \
OpenPOWER on IntegriCloud