GBA003/Cores/NESDeltaCore/NestopiaJS/Makefile
2024-05-30 10:22:15 +08:00

53 lines
1.4 KiB
Makefile

CXX = em++
CXXFLAGS = -O3 -DNST_NO_ZLIB
INCLUDE := -I../nestopia/source/core -I../nestopia/source/core/api
SOURCES = \
$(wildcard ./*.cpp) \
$(wildcard ../nestopia/source/core/*.cpp) \
$(wildcard ../nestopia/source/core/api/*.cpp) \
$(wildcard ../nestopia/source/core/board/*.cpp) \
$(wildcard ../nestopia/source/core/database/*.cpp) \
$(wildcard ../nestopia/source/core/input/*.cpp) \
$(wildcard ../nestopia/source/core/vssystem/*.cpp) \
EXPORTED_FUNCS = \
"_NESFrameDuration", \
"_NESInitialize", \
"_NESStartEmulation", \
"_NESStopEmulation", \
"_NESRunFrame", \
"_NESActivateInput", \
"_NESDeactivateInput", \
"_NESResetInputs", \
"_NESSaveSaveState", \
"_NESLoadSaveState", \
"_NESSaveGameSave", \
"_NESLoadGameSave", \
"_NESAddCheatCode", \
"_NESResetCheats", \
"_NESSetAudioCallback", \
"_NESSetVideoCallback", \
"_NESSetSaveCallback"
EXPORTED_RUNTIME_FUNCS = \
"ccall", \
"allocate", \
"intArrayFromString", \
"FS", \
"writeFile", \
"readFile", \
"HEAPU8", \
"addFunction", \
"ALLOC_NORMAL", \
"getValue", \
"stat"
EMFLAGS = --memory-init-file 0 --post-js post.js --embed-file NstDatabase.xml -s WASM=0 -s EXPORTED_FUNCTIONS='[$(EXPORTED_FUNCS)]' -s EXTRA_EXPORTED_RUNTIME_METHODS='[$(EXPORTED_RUNTIME_FUNCS)]' -s RESERVED_FUNCTION_POINTERS=5
build: $(SOURCES)
$(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCLUDE) $(SOURCES) -o nestopia.js
clean:
-@rm -rvf nestopia.js