diff options
author | Bryan Drewery <bdrewery@FreeBSD.org> | 2017-10-29 01:21:19 +0000 |
---|---|---|
committer | Bryan Drewery <bdrewery@FreeBSD.org> | 2017-10-29 01:21:19 +0000 |
commit | 24830684f299ed8e7649b03cc72384cf3163ba24 (patch) | |
tree | 6a59c093a76166ed224de63bf07063cf804cd4ed /Makefile | |
parent | bb3f65ea646003279697f0da101eefd1332ffa9e (diff) | |
download | src-test2-24830684f299ed8e7649b03cc72384cf3163ba24.tar.gz src-test2-24830684f299ed8e7649b03cc72384cf3163ba24.zip |
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
Notes
Notes:
svn path=/head/; revision=325079
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -135,6 +135,9 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \ 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} @@ -278,6 +286,14 @@ _TARGET_ARCH?= ${MACHINE_ARCH} .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 # should do this as those are the initial targets used for upgrades. |