Date: Sun, 29 Oct 2017 01:21:19 +0000 (UTC) From: Bryan Drewery <bdrewery@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r325079 - head Message-ID: <201710290121.v9T1LJTn068247@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710290121.v9T1LJTn068247>