Rework r287900 to keep arm64/aarch64 stable in the TARGETS list.

This is relevant for makeman using the 'make targets' output in src.conf(5).

This makes a _UNIVERSE_TARGETS that removes arm64 if the build
requirements are not met.
This commit is contained in:
Bryan Drewery 2015-09-17 04:54:49 +00:00
parent 26b7188dae
commit a87f765b19
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=287903

View file

@ -381,26 +381,27 @@ kernel-toolchains:
# existing system is.
#
.if make(universe) || make(universe_kernels) || make(tinderbox) || make(targets)
# XXX Add arm64 to universe only if we have an external binutils installed.
# It does not build with the in-tree linker. Added to lower .for loops too.
.if exists(/usr/local/aarch64-freebsd/bin/ld)
UNIVERSE_arm64=arm64
.elif empty(${TARGETS})
universe: universe_arm64_skip
universe_epilogue: universe_arm64_skip
universe_arm64_skip: universe_prologue
@echo ">> arm64 skipped - install aarch64-binutils port or package to build"
.endif
TARGETS?=amd64 arm ${UNIVERSE_arm64} i386 mips pc98 powerpc sparc64
TARGETS?=amd64 arm arm64 i386 mips pc98 powerpc sparc64
_UNIVERSE_TARGETS= ${TARGETS}
TARGET_ARCHES_arm?= arm armeb armv6 armv6hf
TARGET_ARCHES_arm64?= aarch64
TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32
TARGET_ARCHES_powerpc?= powerpc powerpc64
TARGET_ARCHES_pc98?= i386
.for target in ${TARGETS} arm64
.for target in ${TARGETS}
TARGET_ARCHES_${target}?= ${target}
.endfor
# XXX Add arm64 to universe only if we have an external binutils installed.
# It does not build with the in-tree linker.
.if !exists(/usr/local/aarch64-freebsd/bin/ld) && empty(${TARGETS})
_UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:Narm64}
universe: universe_arm64_skip
universe_epilogue: universe_arm64_skip
universe_arm64_skip: universe_prologue
@echo ">> arm64 skipped - install aarch64-binutils port or package to build"
.endif
.if defined(UNIVERSE_TARGET)
MAKE_JUST_WORLDS= YES
.else
@ -410,7 +411,7 @@ KERNSRCDIR?= ${.CURDIR}/sys
targets: .PHONY
@echo "Supported TARGET/TARGET_ARCH pairs for world and kernel targets"
.for target in ${TARGETS} arm64
.for target in ${TARGETS}
.for target_arch in ${TARGET_ARCHES_${target}}
@echo " ${target}/${target_arch}"
.endfor
@ -432,7 +433,7 @@ universe_prologue:
.if defined(DOING_TINDERBOX)
@rm -f ${FAILFILE}
.endif
.for target in ${TARGETS}
.for target in ${_UNIVERSE_TARGETS}
universe: universe_${target}
universe_epilogue: universe_${target}
universe_${target}: universe_${target}_prologue