CFLAGS := \ --target=wasm32 \ -O2 \ -flto \ -ffreestanding \ -fno-builtin \ -nostdlib EXPORTS := \ init \ get_buffer_ptr \ get_buffer_len \ render_frame comma := , LDFLAGS := -Wl,--no-entry -Wl,--lto-O2 # comment the line below to fail on undefined symbols at link-time instead of runtime #LDFLAGS += -Wl,--allow-undefined LDFLAGS += $(addprefix -Wl$(comma)--export=,$(EXPORTS)) FDLIBM_SRC := \ fdlibm/k_cos.c fdlibm/s_cos.c \ fdlibm/k_sin.c fdlibm/s_sin.c \ fdlibm/k_rem_pio2.c fdlibm/e_rem_pio2.c \ fdlibm/s_scalbn.c main.wasm: main.c math.c $(FDLIBM_SRC) clang $(CFLAGS) $(LDFLAGS) -o $@ $^