Emit @main for wasm32-none-wasm?

I am using the "Embedded" experimental feature and compiling for wasm and macOS at the same time, however swiftc is not using @main when building for wasm. I can't define my own entry function with cdecl because main is actually defined in a protocol extension, which is used to hide platform specific code.
Is there a way to tell swiftc to still emit the usual entry point for wasm-ld to find?

I am currently using this make command:

wasm:
	@swiftc -target wasm32-none-wasm -enable-experimental-feature Embedded -wmo -Xcc -fdeclspec -parse-as-library -Osize $(SOURCES) -c -o build/test-wasm.o
	@wasm-ld build/test-wasm.o -o web/src/test.wasm

Am I using the wrong flags? Swift can emit @main in embedded mode for macOS perfectly fine so it seems specific to not having an os