Files
kichikuou_xsystem35-sdl2/Makefile.emscripten
T
2018-06-24 13:24:53 +09:00

45 lines
1.5 KiB
Makefile

# -*- Makefile -*-
EMPORTS := -s USE_ZLIB=1 -s USE_FREETYPE=1 -s USE_SDL=2
EMFLAGS := -s ENVIRONMENT=web $(EMPORTS)
#EMFLAGS += -O1 -s SAFE_HEAP=1
EMFLAGS += -Oz
EMFLAGS += -s EMTERPRETIFY=1 -s EMTERPRETIFY_ASYNC=1
EMFLAGS += -s TOTAL_MEMORY=100663296
EMFLAGS += -s NO_EXIT_RUNTIME=1
LFLAGS := $(EMFLAGS)
LFLAGS += -s EXPORTED_FUNCTIONS="['_main','_ags_setAntialiasedStringMode', '_ald_getdata', '_ald_freedata', '_sjis2unicode']"
LFLAGS += -s EXTRA_EXPORTED_RUNTIME_METHODS="['getValue','getMemory','addRunDependency','removeRunDependency']"
LFLAGS += --js-library emscripten/library.js
SYNCLIST := -s EMTERPRETIFY_SYNCLIST="['_muspcm_load_no','_muspcm_load_mixlr','_wait_vsync']"
WASMFLAGS := -s WASM=1 -s "BINARYEN_TRAP_MODE='allow'"
ASMJSFLAGS := -s WASM=0
all: out/xsystem35.js out/xsystem35.asm.js
out:
mkdir out
out/xsystem35.js: emterpretify_whitelist src/xsystem35 out
$(CC) xsystem35.bc $(LFLAGS) $(WASMFLAGS) @emterpretify_whitelist -o $@
out/xsystem35.asm.js: emterpretify_whitelist src/xsystem35 out
$(CC) xsystem35.bc $(LFLAGS) $(ASMJSFLAGS) @emterpretify_whitelist -o $@
emterpretify_whitelist:
$(CC) $(EMPORTS) -s EMTERPRETIFY=1 -s EMTERPRETIFY_ADVISE=1 $(SYNCLIST) xsystem35.bc |grep EMTERPRETIFY_WHITELIST > $@
src/xsystem35: src src/Makefile
$(MAKE) -C src
ln -sf src/xsystem35 xsystem35.bc
src/Makefile:
emconfigure ./configure --disable-shared --enable-gtk=no --enable-sdl --enable-cdrom=emscripten --enable-midi=no CFLAGS='-Oz -s USE_ZLIB=1' FT2_CONFIG=tools/freetype-config
.PHONY: src