Index: head/Makefile =================================================================== --- head/Makefile +++ head/Makefile @@ -235,7 +235,7 @@ _TARGET_ARCH= ${TARGET:S/pc98/i386/:S/arm64/aarch64/} .elif !defined(TARGET) && defined(TARGET_ARCH) && \ ${TARGET_ARCH} != ${MACHINE_ARCH} -_TARGET= ${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/riscv64/riscv/} +_TARGET= ${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}} .endif .if defined(TARGET) && !defined(_TARGET) _TARGET=${TARGET} Index: head/gnu/usr.bin/binutils/Makefile.inc0 =================================================================== --- head/gnu/usr.bin/binutils/Makefile.inc0 +++ head/gnu/usr.bin/binutils/Makefile.inc0 @@ -7,7 +7,7 @@ VERSION= "2.17.50 [FreeBSD] 2007-07-03" .if defined(TARGET_ARCH) -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/} +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}} .else TARGET_CPUARCH=${MACHINE_CPUARCH} .endif Index: head/gnu/usr.bin/cc/Makefile.tgt =================================================================== --- head/gnu/usr.bin/cc/Makefile.tgt +++ head/gnu/usr.bin/cc/Makefile.tgt @@ -4,7 +4,7 @@ # MACHINE_CPUARCH, but there's no easy way to export make functions... .if defined(TARGET_ARCH) -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/} +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}} .else TARGET_CPUARCH=${MACHINE_CPUARCH} .endif Index: head/gnu/usr.bin/gdb/Makefile.inc =================================================================== --- head/gnu/usr.bin/gdb/Makefile.inc +++ head/gnu/usr.bin/gdb/Makefile.inc @@ -23,7 +23,7 @@ # MACHINE_CPUARCH, but there's no easy way to export make functions... .if defined(TARGET_ARCH) -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/} +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}} .else TARGET_CPUARCH=${MACHINE_CPUARCH} .endif Index: head/gnu/usr.bin/gdb/libgdb/Makefile =================================================================== --- head/gnu/usr.bin/gdb/libgdb/Makefile +++ head/gnu/usr.bin/gdb/libgdb/Makefile @@ -4,7 +4,7 @@ # MACHINE_CPUARCH, but there's no easy way to export make functions... .if defined(TARGET_ARCH) -TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/} +TARGET_CPUARCH=${TARGET_ARCH:${MACHINE_CPUARCH_SUB:ts:}} .else TARGET_CPUARCH=${MACHINE_CPUARCH} .endif Index: head/share/mk/sys.mk =================================================================== --- head/share/mk/sys.mk +++ head/share/mk/sys.mk @@ -13,7 +13,13 @@ # and/or endian. This is called MACHINE_CPU in NetBSD, but that's used # for something different in FreeBSD. # -MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/:C/riscv64/riscv/} +MACHINE_CPUARCH_SUB= \ + C/mips(n32|64)?(el)?/mips/ \ + C/arm(v6)?(eb|hf)?/arm/ \ + C/aarch64/arm64/ \ + C/powerpc64/powerpc/ \ + C/riscv64/riscv/ +MACHINE_CPUARCH=${MACHINE_ARCH:${MACHINE_CPUARCH_SUB:ts:}} .endif