aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2015-09-17 04:54:49 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2015-09-17 04:54:49 +0000
commita87f765b1913f44e2ab081087bf60706dab424cd (patch)
tree956149a94794c60ad5ced4c6d7245f97bf824676 /Makefile
parent26b7188dae418bc0579a1695f59f2b6f423fb107 (diff)
downloadsrc-a87f765b1913f44e2ab081087bf60706dab424cd.tar.gz
src-a87f765b1913f44e2ab081087bf60706dab424cd.zip
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.
Notes
Notes: svn path=/head/; revision=287903
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 15 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index d9a66620b560..7172ac577e0d 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