svn commit: r325079 - head
Bryan Drewery
bdrewery at FreeBSD.org
Sun Oct 29 01:21:21 UTC 2017
Author: bdrewery
Date: Sun Oct 29 01:21:19 2017
New Revision: 325079
URL: https://svnweb.freebsd.org/changeset/base/325079
Log:
Fix xdev TARGET/TARGET_ARCH assertion and expand to native-xtools.
The top of Makefile.inc1 requires TARGET/TARGET_ARCH be defined. Just
building 'make xdev' would already set them, so this error was never
triggered. Moving it to Makefile fixes the problem.
MFC after: 2 weeks
Sponsored by: Dell EMC Isilon
Modified:
head/Makefile
head/Makefile.inc1
Modified: head/Makefile
==============================================================================
--- head/Makefile Sun Oct 29 01:21:15 2017 (r325078)
+++ head/Makefile Sun Oct 29 01:21:19 2017 (r325079)
@@ -135,6 +135,9 @@ TGTS= all all-man buildenv buildenvvars buildkernel bu
packages installconfig real-packages sign-packages package-pkg \
print-dir test-system-compiler
+# These targets require a TARGET and TARGET_ARCH be defined.
+XTGTS= native-xtools xdev xdev-build xdev-install xdev-links
+
# XXX: r156740: This can't work since bsd.subdir.mk is not included ever.
# It will only work for SUBDIR_TARGETS in make.conf.
TGTS+= ${SUBDIR_TARGETS}
@@ -270,6 +273,11 @@ _TARGET= ${XDEV}
.if defined(XDEV_ARCH)
_TARGET_ARCH= ${XDEV_ARCH}
.endif
+# Some targets require a set TARGET/TARGET_ARCH, check before the default
+# MACHINE and after the compatibility handling.
+.if !defined(_TARGET) || !defined(_TARGET_ARCH)
+${XTGTS}: _assert_target
+.endif
# Otherwise, default to current machine type and architecture.
_TARGET?= ${MACHINE}
_TARGET_ARCH?= ${MACHINE_ARCH}
@@ -277,6 +285,14 @@ _TARGET_ARCH?= ${MACHINE_ARCH}
.if make(print-dir)
.SILENT:
.endif
+
+_assert_target: .PHONY .MAKE
+.for _tgt in ${XTGTS}
+.if make(${_tgt})
+ @echo "*** Error: Both TARGET and TARGET_ARCH must be defined for \"${_tgt}\" target"
+ @false
+.endif
+.endfor
#
# Make sure we have an up-to-date make(1). Only world and buildworld
Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1 Sun Oct 29 01:21:15 2017 (r325078)
+++ head/Makefile.inc1 Sun Oct 29 01:21:19 2017 (r325079)
@@ -2760,8 +2760,6 @@ cleanworld: .PHONY
${_+_}@cd ${.CURDIR}; ${MAKE} cleandir
.endif
-.if defined(TARGET) && defined(TARGET_ARCH)
-
.if ${TARGET} == ${MACHINE} && ${TARGET_ARCH} == ${MACHINE_ARCH}
XDEV_CPUTYPE?=${CPUTYPE}
.else
@@ -2908,7 +2906,3 @@ xdev-links: .PHONY
ln -sf ../../${XDTP}/usr/bin/$$i \
../../../../usr/bin/${XDDIR}${_REVISION}-$$i; \
done
-.else
-xdev xdev-build xdev-install xdev-links: .PHONY
- @echo "*** Error: Both TARGET and TARGET_ARCH must be defined for \"${.TARGET}\" target"
-.endif
More information about the svn-src-head
mailing list