--- a/build.sh	Sun Oct 12 19:44:04 2025 +0000
+++ b/build.sh	Tue Oct 14 21:58:07 2025 +1100
@@ -716,7 +716,8 @@ MACHINE=ibmnws		MACHINE_ARCH=powerpc
 MACHINE=iyonix		MACHINE_ARCH=earm	ALIAS=eiyonix DEFAULT
 MACHINE=landisk		MACHINE_ARCH=sh3el
 MACHINE=luna68k		MACHINE_ARCH=m68k
-MACHINE=mac68k		MACHINE_ARCH=m68k
+MACHINE=mac68k		MACHINE_ARCH=m68ksf	ALIAS=mac68ksf
+MACHINE=mac68k		MACHINE_ARCH=m68k	DEFAULT
 MACHINE=macppc		MACHINE_ARCH=powerpc	DEFAULT
 MACHINE=macppc		MACHINE_ARCH=powerpc64	ALIAS=macppc64
 MACHINE=mipsco		MACHINE_ARCH=mipseb
--- a/common/lib/libc/arch/m68k/atomic/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/common/lib/libc/arch/m68k/atomic/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -11,7 +11,7 @@
 
 .if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \
 	|| ${LIB} == "rump")
-.if ${MACHINE_ARCH} == "m68k"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 
 SRCS+=	atomic_add.S atomic_and.S atomic_cas.S atomic_dec.S \
 	atomic_inc.S atomic_or.S atomic_swap.S membar_ops_nop.c \
@@ -44,7 +44,7 @@ SRCS+=	atomic_c11_compare_exchange_cas_8
 .endif
 
 .if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread")
-.if ${MACHINE_ARCH} == "m68k"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 
 SRCS+=	atomic_init_cas.c
 
--- a/crypto/external/apache2/openssl/lib/libcrypto/blake2.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/crypto/external/apache2/openssl/lib/libcrypto/blake2.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -20,6 +20,6 @@ SRCS += ${BLAKE2_SRCS}
 CPPFLAGS.${cryptosrc} = -I${OPENSSLSRC}/crypto/blake2
 .endfor
 
-.if ${MACHINE_ARCH} == "m68k"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 COPTS.blake2_prov.c += -fno-stack-protector
 .endif
--- a/crypto/external/apache2/openssl/lib/libcrypto/sha.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/crypto/external/apache2/openssl/lib/libcrypto/sha.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -18,7 +18,7 @@ SRCS += ${SHA_SRCS}
 CPPFLAGS.${cryptosrc} += -I${OPENSSLSRC}/crypto/sha ${SHACPPFLAGS}
 .endfor
 
-.if (${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000") && \
+.if (${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" || ${MACHINE_ARCH} == "m68000") && \
     ${HAVE_GCC:U0} == 12
 COPTS.libc-sha2xx.c+=	-fno-stack-protector
 .endif
--- a/crypto/external/bsd/openssl/lib/libcrypto/sha.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/crypto/external/bsd/openssl/lib/libcrypto/sha.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -18,7 +18,7 @@ SRCS += ${SHA_SRCS}
 CPPFLAGS.${cryptosrc} += -I${OPENSSLSRC}/crypto/sha ${SHACPPFLAGS}
 .endfor
 
-.if (${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000") && \
+.if (${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" || ${MACHINE_ARCH} == "m68000") && \
     ${HAVE_GCC:U0} == 12
 COPTS.libc-sha2xx.c+=	-fno-stack-protector
 .endif
--- a/external/gpl3/binutils/lib/libiberty/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/binutils/lib/libiberty/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -11,7 +11,7 @@ NODEBUGLIB=	# defined
 
 LIB=		iberty
 
-BINUTILS_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/}
+BINUTILS_MACHINE_ARCH?=${MACHINE_ARCH:C/armv[4-7]/arm/}
 
 .include "${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH}/defs.mk"
 
--- a/external/gpl3/binutils/lib/libsframe/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/binutils/lib/libsframe/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -11,7 +11,7 @@ NODEBUGLIB=	# defined
 
 LIB=		sframe
 
-BINUTILS_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/}
+BINUTILS_MACHINE_ARCH?=${MACHINE_ARCH:C/armv[4-7]/arm/}
 
 .include "${.CURDIR}/arch/${BINUTILS_MACHINE_ARCH}/defs.mk"
 
--- a/external/gpl3/binutils/usr.bin/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/binutils/usr.bin/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -2,7 +2,7 @@
 
 .include <bsd.own.mk>
 
-BINUTILS_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/}
+BINUTILS_MACHINE_ARCH?=${MACHINE_ARCH:C/armv[4-7]/arm/}
 
 .if ${MKBINUTILS} != "no" && exists(${.CURDIR}/common/arch/${BINUTILS_MACHINE_ARCH}/defs.mk)
 .include "${.CURDIR}/common/arch/${BINUTILS_MACHINE_ARCH}/defs.mk"
--- a/external/gpl3/binutils/usr.bin/common/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/binutils/usr.bin/common/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -4,7 +4,7 @@
 __COMMON_MAKEFILE_INC_INCLUDED__=1
 .include <bsd.init.mk>
 
-BINUTILS_MACHINE_ARCH=	${MACHINE_ARCH:C/armv[4-7]/arm/}
+BINUTILS_MACHINE_ARCH?=	${MACHINE_ARCH:C/armv[4-7]/arm/}
 
 GNUHOSTDIST=	${DIST}
 GNUCPPFLAGS=	${G_DEFS} ${G_INCLUDES}
@@ -13,7 +13,7 @@ CPPFLAGS+=	${GNUCPPFLAGS:M-D*:N-DLOCALED
 		-I${DIST}/include -I${DIST}/bfd -I${DIST}/binutils \
 		-DLOCALEDIR=\"${LOCALEDIR}\"
 
-BINUTILS_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/}
+BINUTILS_MACHINE_ARCH?=${MACHINE_ARCH:C/armv[4-7]/arm/}
 BFDSUBDIR=	lib
 
 .endif
--- a/external/gpl3/binutils/usr.bin/common/Makefile.prog	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/binutils/usr.bin/common/Makefile.prog	Tue Oct 14 21:58:07 2025 +1100
@@ -3,11 +3,11 @@
 # Common Makefile fragment for a binutils program.
 #
 
-BINUTILS_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/}
+.include <bsd.init.mk>
+
+BINUTILS_MACHINE_ARCH?=${MACHINE_ARCH:C/armv[4-7]/arm/}
 CPPFLAGS+=	-I${.CURDIR}/../common/arch/${BINUTILS_MACHINE_ARCH}
 
-.include <bsd.init.mk>
-
 .include "${.CURDIR}/../common/Makefile.inc"
 .include "${.CURDIR}/../common/arch/${BINUTILS_MACHINE_ARCH}/defs.mk"
 
--- a/external/gpl3/binutils/usr.sbin/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/binutils/usr.sbin/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -7,6 +7,6 @@ WARNS?=		1
 CPPFLAGS+=-DPACKAGE -DPACKAGE_VERSION
 LDADD+=-lz
 .ifndef HOSTPROG
-BINUTILS_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/}
+BINUTILS_MACHINE_ARCH?=${MACHINE_ARCH:C/armv[4-7]/arm/}
 DPADD+=${LIBZ}
 .endif
--- a/external/gpl3/gcc.old/lib/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/lib/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -1,4 +1,4 @@
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 .ifndef _EXTERNAL_GPL3_GCC_LIB_MAKEFILE_INC_
 _EXTERNAL_GPL3_GCC_LIB_MAKEFILE_INC_=1
--- a/external/gpl3/gcc.old/lib/crtstuff/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/lib/crtstuff/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -12,7 +12,7 @@ UNSUPPORTED_COMPILER.clang=	# defined
 
 DIST=		${GCCDIST}
 GNUHOSTDIST=	${DIST}
-GCCARCH=	${.CURDIR}/../../usr.bin/gcc/arch/${MACHINE_ARCH}
+GCCARCH=	${.CURDIR}/../../usr.bin/gcc/arch/${MACHINE_ARCH:S/m68ksf/m68k/}
 
 GALLCFLAGS=	${G_CRTSTUFF_CFLAGS} ${G_CRTSTUFF_T_CFLAGS}
 
--- a/external/gpl3/gcc.old/lib/libasan/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/lib/libasan/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -56,7 +56,7 @@ COPTS.asan_interceptors.cpp += -O1
 .endif
 
 # This helps, but isn't enough.
-.if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" || ${MACHINE_ARCH} == "m68000"
 COPTS.asan_interceptors.cpp += -fno-jump-tables -Os
 COPTS.asan_interceptors.cpp += -mlong-jump-table-offsets -Os
 .endif
--- a/external/gpl3/gcc.old/lib/libgomp/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/lib/libgomp/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -36,7 +36,7 @@ SHLIB_MINOR=	2
 
 LDFLAGS+=	-Wl,--version-script,${DIST}/libgomp/libgomp.map
 
-.if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH:S/earmv5/earm/}
+.if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH:S/earmv5/earm/:S/m68ksf/m68k/}
 # This is where GCC looks for it.
 FILES=		libgomp.spec
 FILESDIR=	${LIBDIR}
--- a/external/gpl3/gcc.old/lib/libstdc++-v3/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/lib/libstdc++-v3/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -3,7 +3,7 @@
 .ifndef _EXTERNAL_GPL3_GCC_LIB_LIBSTDCXX_MAKEFILE_INC_
 _EXTERNAL_GPL3_GCC_LIB_LIBSTDCXX_MAKEFILE_INC_=1
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 .include "${.PARSEDIR}/../Makefile.inc"
 .include "${.PARSEDIR}/../../Makefile.gcc_path"
--- a/external/gpl3/gcc.old/lib/libsupc++/Makefile.common	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/lib/libsupc++/Makefile.common	Tue Oct 14 21:58:07 2025 +1100
@@ -3,7 +3,7 @@
 DIST=		${GCCDIST}
 GNUHOSTDIST=	${DIST}
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 # Support src/compat builds
 .if defined(MLIBDIR) && exists(${.CURDIR}/../libstdc++-v3/arch/${MLIBDIR}/defs.mk)
--- a/external/gpl3/gcc.old/usr.bin/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/usr.bin/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -4,7 +4,7 @@ NOOBJ=# defined
 
 .include <bsd.init.mk>
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 .if ${MKGCC} != "no" && exists(${.CURDIR}/gcc/arch/${GCC_MACHINE_ARCH}/defs.mk)
 
--- a/external/gpl3/gcc.old/usr.bin/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/usr.bin/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -9,7 +9,7 @@ NOCTF=	# defined
 
 .sinclude "../../Makefile.gcc_path"
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 .include "../../../lgpl3/gmp/Makefile.arch"
 
 TOP=		${NETBSDSRCDIR}
--- a/external/gpl3/gcc.old/usr.bin/backend/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc.old/usr.bin/backend/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -522,7 +522,8 @@ CFLAGS+=	-Wno-stack-protector
 
 #COPTS.dwarf2out.cc+=${CC_WNO_MAYBE_UNINITIALIZED}
 
-.if ${GCC_MACHINE_ARCH} == "m68000" || ${GCC_MACHINE_ARCH} == "m68k" || \
+.if ${GCC_MACHINE_ARCH} == "m68000" || \
+	${GCC_MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" || \
 	${GCC_MACHINE_ARCH} == "coldfire"
 #COPTS.tree-loop-distribution.cc+=-O2
 #COPTS.generic-match.cc+=-fno-jump-tables
--- a/external/gpl3/gcc/lib/libasan/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc/lib/libasan/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -56,7 +56,7 @@ COPTS.asan_interceptors.cpp += -O1
 .endif
 
 # This helps, but isn't enough.
-.if ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" || ${MACHINE_ARCH} == "m68000"
 COPTS.asan_interceptors.cpp += -fno-jump-tables -Os
 COPTS.asan_interceptors.cpp += -mlong-jump-table-offsets -Os
 .endif
--- a/external/gpl3/gcc/lib/libstdc++-v3/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc/lib/libstdc++-v3/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -3,7 +3,7 @@
 .ifndef _EXTERNAL_GPL3_GCC_LIB_LIBSTDCXX_MAKEFILE_INC_
 _EXTERNAL_GPL3_GCC_LIB_LIBSTDCXX_MAKEFILE_INC_=1
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 .include "${.PARSEDIR}/../Makefile.inc"
 .include "${.PARSEDIR}/../../Makefile.gcc_path"
--- a/external/gpl3/gcc/lib/libsupc++/Makefile.common	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc/lib/libsupc++/Makefile.common	Tue Oct 14 21:58:07 2025 +1100
@@ -3,7 +3,7 @@
 DIST=		${GCCDIST}
 GNUHOSTDIST=	${DIST}
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 # Support src/compat builds
 .if defined(MLIBDIR) && exists(${.CURDIR}/../libstdc++-v3/arch/${MLIBDIR}/defs.mk)
--- a/external/gpl3/gcc/usr.bin/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc/usr.bin/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -4,7 +4,7 @@ NOOBJ=# defined
 
 .include <bsd.init.mk>
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 
 .if ${MKGCC} != "no" && exists(${.CURDIR}/gcc/arch/${GCC_MACHINE_ARCH}/defs.mk)
 
--- a/external/gpl3/gcc/usr.bin/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc/usr.bin/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -9,7 +9,7 @@ NOCTF=	# defined
 
 .sinclude "../../Makefile.gcc_path"
 
-GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/}
+GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/}
 .include "../../../lgpl3/gmp/Makefile.arch"
 
 TOP=		${NETBSDSRCDIR}
--- a/external/gpl3/gcc/usr.bin/backend/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gcc/usr.bin/backend/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -25,7 +25,7 @@ DPSRCS+=	version.h
 DPSRCS+=	insn-attr.h insn-codes.h insn-config.h insn-flags.h tree-check.h
 DPSRCS+=	${DIST}/gcc/BASE-VER
 CPPFLAGS+=	-I${DIST}/libgcc
-CPPFLAGS+=	-I${.CURDIR}/../../lib/libgcc/libgcov/arch/${MACHINE_ARCH}
+CPPFLAGS+=	-I${.CURDIR}/../../lib/libgcc/libgcov/arch/${MACHINE_ARCH:S/m68ksf/m68k/}
 
 CPPFLAGS.cppdefault.cc+=	-DPREFIX=\"/usr\" \
 				-DNATIVE_SYSTEM_HEADER_DIR=\"${G_NATIVE_SYSTEM_HEADER_DIR}\"
@@ -160,7 +160,7 @@ insn-modes.h-test: genmodes
 	${_MKTARGET_CREATE}
 	./genmodes -h >${.TARGET}
 	# Ensure that the checked in version matches
-	if ! cmp ${.TARGET} ${.CURDIR}/../gcc/arch/${MACHINE_ARCH}/insn-modes.h; then
+	if ! cmp ${.TARGET} ${.CURDIR}/../gcc/arch/${MACHINE_ARCH:S/m68ksf/m68k/}/insn-modes.h; then
 		echo "Checked in insn-modes.h does not match; rerun mknative-gcc." 1>&2
 		false
 	fi
--- a/external/gpl3/gdb/Makefile.gdb_arch	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/gpl3/gdb/Makefile.gdb_arch	Tue Oct 14 21:58:07 2025 +1100
@@ -1,1 +1,1 @@
-GDB_MACHINE_ARCH=	${MACHINE_ARCH:C/^e//:C/e?armv?[4-7]?h?f?/arm/}
+GDB_MACHINE_ARCH?=	${MACHINE_ARCH:C/^e//:C/e?armv?[4-7]?h?f?/arm/}
--- a/external/mit/xorg/lib/gallium.old/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/mit/xorg/lib/gallium.old/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -1212,7 +1212,7 @@ COPTS+=	${${ACTIVE_CC} == "clang":? -Wa,
 .endif
 
 # XXXGCC12
-.if ${MACHINE_ARCH} == "m68k"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 COPTS.st_glsl_to_tgsi.cpp += -O1
 COPTS.vl_bicubic_filter.c += -O1
 COPTS.nir_opt_algebraic.c += -Os -fno-jump-tables
--- a/external/mit/xorg/lib/libXfont/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/mit/xorg/lib/libXfont/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -70,7 +70,7 @@ PKGDIST=	${LIB}
 CWARNFLAGS.clang+=	-Wno-tautological-compare -Wno-string-plus-int
 COPTS.ftfuncs.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-error=overflow :}
 
-.if ${HAVE_GCC:U0} >= 12 && ${MACHINE_ARCH} == "m68k"
+.if ${HAVE_GCC:U0} >= 12 && ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 COPTS.fontxlfd.c+=	-fno-stack-protector
 .endif
 
--- a/external/mit/xorg/lib/libXfont2/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/external/mit/xorg/lib/libXfont2/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -132,7 +132,7 @@ CPPFLAGS+=	-I${DESTDIR}${X11INCDIR}/free
 CWARNFLAGS.clang+=	-Wno-format
 COPTS.ftfuncs.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 10:? -Wno-error=overflow :}
 
-.if ${HAVE_GCC:U0} >= 12 && ${MACHINE_ARCH} == "m68k"
+.if ${HAVE_GCC:U0} >= 12 && ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 COPTS.fontxlfd.c+=	-fno-stack-protector
 .endif
 
--- a/lib/libc/arch/m68k/gdtoa/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/lib/libc/arch/m68k/gdtoa/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -2,7 +2,7 @@
 
 SRCS+=	strtof.c
 
-.if ${MACHINE_ARCH} == "m68k"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 SRCS+=	strtold_pxL.c
 SRCS+=	strtopxL.c
 .endif
--- a/lib/libc/arch/m68k/gen/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/lib/libc/arch/m68k/gen/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -14,7 +14,7 @@ SRCS+=	nanf.c
 
 # 68000-based machines use a double-extended `long double' type
 # for which the generic ieee754 versions can be used
-.if	${MACHINE_ARCH} != "m68k"
+.if	${MACHINE_ARCH:S/m68ksf/m68k/} != "m68k"
 SRCS+=	infinityl_dbl_ieee754.c
 .else
 SRCS+=	infinityl.c
@@ -43,7 +43,7 @@ SRCS+=	fpfake.c
 .endif
 .endif
 
-.if ${MACHINE_ARCH} == "m68k"
+.if ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k"
 SRCS+=	mulsi3.S umulsi3.S
 SRCS+=	muldi3.S
 .else
--- a/lib/libc/compat/stdio/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/lib/libc/compat/stdio/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -1,4 +1,4 @@
-.PATH: ${COMPATDIR}/arch/${MACHINE_ARCH}/stdio ${COMPATDIR}/stdio
+.PATH: ${COMPATDIR}/arch/${MACHINE_ARCH:S/m68ksf/m68k/}/stdio ${COMPATDIR}/stdio
 
 SRCS+=		compat_fgetpos.c compat_fsetpos.c
 CPPFLAGS.compat_fgetpos.c+=	-I${COMPATDIR}/../stdio
--- a/lib/libc/gdtoa/test/makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/lib/libc/gdtoa/test/makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -25,7 +25,7 @@
 
 CC = cc
 CFLAGS = -g -I..
-CFLAGS+=-I${.CURDIR}/../../arch/${MACHINE_ARCH}/gdtoa
+CFLAGS+=-I${.CURDIR}/../../arch/${MACHINE_ARCH:S/m68ksf/m68k/}/gdtoa
 L = -lm
 L1 = -lm
 #use "L1=-lm" when compiled with -DHonor_FLTP_ROUNDS or -DUSE_LOCALE
--- a/lib/libc/quad/Makefile.inc	Sun Oct 12 19:44:04 2025 +0000
+++ b/lib/libc/quad/Makefile.inc	Tue Oct 14 21:58:07 2025 +1100
@@ -15,7 +15,7 @@ SRCS.quad+=	negdi2.c
 SRCS.quad+=	qdivrem.c
 SRCS.quad+=	udivdi3.c umoddi3.c 
 
-.if   (${MACHINE_ARCH} == "m68k")
+.if   (${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k")
 SRCS.quad+=	ashldi3.S ashrdi3.S lshrdi3.S
 .elif (${MACHINE_ARCH} == "m68000")
 SRCS.quad+=	ashldi3.S lshrdi3.S
--- a/share/mk/bsd.endian.mk	Sun Oct 12 19:44:04 2025 +0000
+++ b/share/mk/bsd.endian.mk	Tue Oct 14 21:58:07 2025 +1100
@@ -21,6 +21,7 @@ TARGET_ENDIANNESS=	1234
       ${MACHINE_ARCH} == "hppa" || \
       ${MACHINE_ARCH} == "m68000" || \
       ${MACHINE_ARCH} == "m68k" || \
+      ${MACHINE_ARCH} == "m68ksf" || \
       ${MACHINE_ARCH} == "or1k" || \
       ${MACHINE_ARCH} == "powerpc" || \
       ${MACHINE_ARCH} == "powerpc64" || \
--- a/share/mk/bsd.own.mk	Sun Oct 12 19:44:04 2025 +0000
+++ b/share/mk/bsd.own.mk	Tue Oct 14 21:58:07 2025 +1100
@@ -14,7 +14,7 @@ MAKECONF?=	/etc/mk.conf
 #
 # CPU model, derived from MACHINE_ARCH
 #
-MACHINE_CPU=	${MACHINE_ARCH:C/mips.*e[bl]/mips/:C/sh3e[bl]/sh3/:S/coldfire/m68k/:S/m68000/m68k/:C/e?arm.*/arm/:S/powerpc64/powerpc/:S/aarch64eb/aarch64/:S/or1knd/or1k/:C/riscv../riscv/}
+MACHINE_CPU=	${MACHINE_ARCH:C/mips.*e[bl]/mips/:C/sh3e[bl]/sh3/:S/coldfire/m68k/:S/m68000/m68k/:S/m68ksf/m68k/:C/e?arm.*/arm/:S/powerpc64/powerpc/:S/aarch64eb/aarch64/:S/or1knd/or1k/:C/riscv../riscv/}
 
 .if (${MACHINE_ARCH} == "mips64el" || \
      ${MACHINE_ARCH} == "mips64eb" || \
@@ -25,6 +25,21 @@ MACHINE_MIPS64= 	1
 MACHINE_MIPS64= 	0
 .endif
 
+.if ${MACHINE_ARCH} == "m68ksf"
+BFD_MACHINE_ARCH=m68k
+BINUTILS_MACHINE_ARCH=m68k
+GCC_MACHINE_ARCH=m68k
+GDB_MACHINE_ARCH=m68k
+GMP_MACHINE_ARCH=m68k
+GOMP_MACHINE_ARCH=m68k
+LIBGCC_MACHINE_ARCH=m68k
+LIBC_MACHINE_ARCH=m68k
+LIBEXEC_MACHINE_ARCH=m68k
+LIBEXECINFO_MACHINE_ARCH=m68k
+LIBKERN_ARCH=m68k
+LDELFSO_MACHINE_ARCH=m68k
+.endif
+
 #
 # Subdirectory used below ${RELEASEDIR} when building a release
 #
@@ -784,6 +799,7 @@ MACHINES.hppa=		hppa
 MACHINES.m68000=	sun2
 MACHINES.m68k=		amiga atari cesfic hp300 luna68k mac68k \
 			mvme68k news68k next68k sun3 virt68k x68k
+MACHINES.m68ksf=	mac68k
 MACHINES.mips=		algor arc cobalt emips evbmips ews4800mips \
 			hpcmips mipsco newsmips pmax sbmips sgimips
 MACHINES.or1k=		or1k
@@ -1020,6 +1036,7 @@ GCC_CONFIG_ARCH.i386=i486
 GCC_CONFIG_TUNE.i386=nocona
 GCC_CONFIG_TUNE.x86_64=nocona
 GNU_ARCH.m68000=m68010
+GNU_ARCH.m68ksf=m68k
 GNU_ARCH.sh3eb=sh
 GNU_ARCH.sh3el=shle
 GNU_ARCH.mips64eb=mips64
@@ -1174,7 +1191,8 @@ MKSOFTFLOAT?=	yes
 #
 .if (${MACHINE_CPU} == "arm" && ${MACHINE_ARCH:M*hf*} == "") || \
     ${MACHINE_ARCH} == "coldfire" || ${MACHINE_CPU} == "or1k" || \
-    ${MACHINE} == "emips" || ${MACHINE_CPU} == "sh3"
+    ${MACHINE} == "emips" || ${MACHINE_CPU} == "sh3" || \
+    ${MACHINE_ARCH} == "m68ksf"
 MKSOFTFLOAT=	yes
 .endif
 
--- a/share/mk/sys.mk	Sun Oct 12 19:44:04 2025 +0000
+++ b/share/mk/sys.mk	Tue Oct 14 21:58:07 2025 +1100
@@ -29,7 +29,8 @@ CC?=		cc
 .if ${MACHINE_ARCH} == "sh3el" || ${MACHINE_ARCH} == "sh3eb"
 # -O2 is too -falign-* zealous for low-memory sh3 machines
 DBG?=	-Os -freorder-blocks
-.elif ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000"
+.elif ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68ksf" || \
+    ${MACHINE_ARCH} == "m68000"
 # -freorder-blocks (enabled by -O2) produces much bigger code
 DBG?=	-O2 -fno-reorder-blocks
 .elif ${MACHINE_ARCH} == "coldfire"
--- a/sys/lib/libkern/Makefile.compiler-rt	Sun Oct 12 19:44:04 2025 +0000
+++ b/sys/lib/libkern/Makefile.compiler-rt	Tue Oct 14 21:58:07 2025 +1100
@@ -64,7 +64,7 @@ GENERIC_SRCS+= \
 .endif
 
 .if ${MACHINE_CPU} != "aarch64" && ${MACHINE} != "alpha" && \
-    ${MACHINE_ARCH} != "m68k"
+    ${MACHINE_ARCH:S/m68ksf/m68k/} != "m68k"
 GENERIC_SRCS+= \
 	divmodsi4.c \
 	divsi3.c \
--- a/sys/modules/exec_elf32/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/sys/modules/exec_elf32/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -9,6 +9,7 @@ CPPFLAGS+=	-DEXEC_ELF32
     ${MACHINE_ARCH} != "armeb" && \
     ${MACHINE_ARCH} != "m68000" && \
     ${MACHINE_ARCH} != "m68k" && \
+    ${MACHINE_ARCH} != "m68ksf" && \
     ${MACHINE_ARCH} != "powerpc" && \
     ${MACHINE_ARCH} != "powerpc64" && \
     ${MACHINE_ARCH} != "sh3eb" && \
--- a/usr.bin/ldd/Makefile.common	Sun Oct 12 19:44:04 2025 +0000
+++ b/usr.bin/ldd/Makefile.common	Tue Oct 14 21:58:07 2025 +1100
@@ -10,7 +10,7 @@ CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libexec
 .PATH: ${LDELFSO}
 
 .if (${MACHINE_ARCH} == "sparc") || (${MACHINE_ARCH} == "sparc64") || \
-    (${MACHINE_ARCH} == "arm") || (${MACHINE_ARCH} == "m68k") || \
+    (${MACHINE_ARCH} == "arm") || (${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k") || \
     (${MACHINE_ARCH} == "powerpc") || (${MACHINE_ARCH:Mmips*} != "")
 CPPFLAGS+= -DVARPSZ
 .endif
--- a/usr.sbin/crash/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/usr.sbin/crash/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -19,7 +19,7 @@ DPADD+=	${LIBUTIL} ${LIBKVM} ${LIBEDIT} 
     || ${MACHINE_CPU} == "mips" \
     || ${MACHINE_CPU} == "riscv" \
     || ${MACHINE_ARCH} == "alpha" \
-    || ${MACHINE_ARCH} == "m68k" \
+    || ${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" \
     || ${MACHINE_ARCH} == "powerpc" \
     || ${MACHINE_ARCH} == "powerpc64" \
     || ${MACHINE} == "amd64" \
@@ -35,7 +35,7 @@ SRCS+=	db_interface.c
 .elif ${MACHINE_CPU} == "mips"
 SRCS+=	db_interface.c mips_stacktrace.c
 CPPFLAGS+=	-DDDB
-.elif ${MACHINE_ARCH} != "m68k" \
+.elif ${MACHINE_ARCH:S/m68ksf/m68k/} != "m68k" \
    && ${MACHINE_ARCH} != "powerpc" \
    && ${MACHINE_ARCH} != "powerpc64"
 SRCS+=	db_machdep.c
--- a/usr.sbin/mdsetimage/Makefile	Sun Oct 12 19:44:04 2025 +0000
+++ b/usr.sbin/mdsetimage/Makefile	Tue Oct 14 21:58:07 2025 +1100
@@ -17,7 +17,7 @@ CPPFLAGS+=-DNLIST_AOUT
 .elif	${MACHINE_ARCH} == "powerpc"
 CPPFLAGS+=-DNLIST_ELF32
 .elif	${MACHINE_ARCH} == "i386" || \
-	${MACHINE_ARCH} == "m68k" || \
+	${MACHINE_ARCH:S/m68ksf/m68k/} == "m68k" || \
 	${MACHINE_ARCH} == "m68000" || \
 	${MACHINE_ARCH} == "vax" || \
 	${MACHINE_CPU} == "arm"
