summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-09-17 04:54:49 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-09-17 04:54:49 +0000
commitc573883774d3313ec5bd2160524578c7af6974e9 (patch)
tree956149a94794c60ad5ced4c6d7245f97bf824676 /Makefile
parent0981656a6da4b80b1999104c28e5306df41d5b03 (diff)
downloadFreeBSD-src-c573883774d3313ec5bd2160524578c7af6974e9.zip
FreeBSD-src-c573883774d3313ec5bd2160524578c7af6974e9.tar.gz
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.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 15 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index d9a6662..7172ac5 100644
--- a/Makefile
+++ b/Makefile
@@ -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
OpenPOWER on IntegriCloud