summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorru <ru@FreeBSD.org>2002-12-02 14:31:21 +0000
committerru <ru@FreeBSD.org>2002-12-02 14:31:21 +0000
commit4a3df4315b40dd8b587485a2f6489e99b18ef593 (patch)
tree40ea17ad6d388a183090db9c921cdbf4874b2984 /Makefile
parentb08bf1dfd2ce41af261b4753e8f422a83c274f1b (diff)
downloadFreeBSD-src-4a3df4315b40dd8b587485a2f6489e99b18ef593.zip
FreeBSD-src-4a3df4315b40dd8b587485a2f6489e99b18ef593.tar.gz
If /usr/bin/make fails to pass the regression tests, it might not
be suitable for building. The old action here was to upgrade the make in /usr/bin. This is both bogus and does not work under non root. So, rather than overwriting the existing /usr/bin/make, we now install it into a safe location, and use it from there. Reviewed by: imp, marcel Approved by: re (rwatson)
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile27
1 files changed, 20 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 222e4ed..2fe8533 100644
--- a/Makefile
+++ b/Makefile
@@ -102,7 +102,9 @@ BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/}
.ORDER: buildkernel installkernel
.ORDER: buildkernel reinstallkernel
-PATH= /sbin:/bin:/usr/sbin:/usr/bin
+MAKEOBJDIRPREFIX?= /usr/obj
+MAKEPATH= ${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE_ARCH}
+PATH= ${MAKEPATH}:/sbin:/bin:/usr/sbin:/usr/bin
MAKE= PATH=${PATH} make -m ${.CURDIR}/share/mk -f Makefile.inc1
#
@@ -159,21 +161,32 @@ kernel: buildkernel installkernel
# for building the world.
#
upgrade_checks:
- @(cd ${.CURDIR}/tools/regression/usr.bin/make && make 2>/dev/null) || \
- (cd ${.CURDIR} && make make)
+ @(cd ${.CURDIR}/tools/regression/usr.bin/make && \
+ PATH=${PATH} make 2>/dev/null) || \
+ (cd ${.CURDIR} && make make)
#
-# Upgrade the installed make to the current version using the installed
+# Upgrade make(1) to the current version using the installed
# headers, libraries and tools.
#
+MMAKEENV= MAKEOBJDIRPREFIX=${MAKEPATH} \
+ DESTDIR= \
+ INSTALL="sh ${.CURDIR}/tools/install.sh"
+MMAKE= ${MMAKEENV} make \
+ -D_UPGRADING \
+ -DNOMAN -DNOSHARED \
+ -DNO_CPU_CFLAGS -DNO_WERROR
+
make:
@echo
@echo "--------------------------------------------------------------"
- @echo " Upgrading the installed make"
+ @echo " Upgrading make(1)"
@echo "--------------------------------------------------------------"
@cd ${.CURDIR}/usr.bin/make; \
- make obj && make -D_UPGRADING depend && \
- make -D_UPGRADING all && make install
+ ${MMAKE} obj && \
+ ${MMAKE} depend && \
+ ${MMAKE} all && \
+ ${MMAKE} install DESTDIR=${MAKEPATH} BINDIR=
#
# Define the upgrade targets. These are listed here in alphabetical
OpenPOWER on IntegriCloud