Index: Makefile =================================================================== --- Makefile +++ Makefile @@ -4,8 +4,11 @@ # The user-driven targets are: # # universe - *Really* build *everything* (buildworld and -# all kernels on all architectures). Define the -# MAKE_JUST_KERNELS variable to only build kernels. +# all kernels on all architectures). Define +# MAKE_JUST_KERNELS to only build kernels, +# MAKE_JUST_WORLDS to only build userland, and/or +# MAKE_OBSOLETE_GCC to build architectures unsupported +# by clang. # tinderbox - Same as universe, but presents a list of failed build # targets and exits with an error if there were any. # buildworld - Rebuild *everything*, including glue to help do @@ -481,7 +484,17 @@ # .if make(universe) || make(universe_kernels) || make(tinderbox) || \ make(targets) || make(universe-toolchain) -TARGETS?=amd64 arm arm64 i386 mips powerpc riscv sparc64 +# +# By default, build only the known-good clang-supporting platforms. +# If MAKE_OBSOLETE_GCC is defined, built all the old GCC architectures. +# In all cases, if the user specifies TARGETS on the command line, +# honor that most of all. +# +_DEFAULT_TARGETS=amd64 arm arm64 i386 +.if defined(MAKE_OBSOLETE_GCC) +_DEFAULT_TARGETS+=mips powerpc riscv sparc64 +.endif +TARGETS?=${_DEFAULT_TARGETS} _UNIVERSE_TARGETS= ${TARGETS} TARGET_ARCHES_arm?= arm armv6 armv7 TARGET_ARCHES_arm64?= aarch64