22CC =clang
33EMSDK_VERSION =3.1.7
44EMSDK_DOCKER_IMAGE =emscripten/emsdk:$(EMSDK_VERSION )
5- EMCC=EMSDK_VERSION =$(EMSDK_VERSION ) EMSDK_DOCKER_IMAGE=$(EMSDK_DOCKER_IMAGE ) scripts/emcc.sh
5+ EMCC=EMSDK_VERSION =$(EMSDK_VERSION ) EMSDK_DOCKER_IMAGE=$(EMSDK_DOCKER_IMAGE ) EMSDK_DOCKER_CACHE= $( THIS_DIR ) / $( BUILD_EMSDK_CACHE ) / $( EMSDK_VERSION ) scripts/emcc.sh
66GENERATE_TS =$(VARIANT_GENERATE_TS_ENV ) npx ts-node generate.ts
77PRETTIER =npx prettier
8+ THIS_DIR := $(dir $(abspath $(firstword $(MAKEFILE_LIST ) ) ) )
89
910DEBUG_MAKE =1
1011
@@ -40,6 +41,7 @@ WRAPPER_ROOT=c
4041BUILD_ROOT =build
4142BUILD_WRAPPER =$(BUILD_ROOT ) /wrapper
4243BUILD_QUICKJS =$(BUILD_ROOT ) /quickjs
44+ BUILD_EMSDK_CACHE =$(BUILD_ROOT ) /emsdk-cache
4345BUILD_TS =ts/generated
4446
4547# QuickJS
@@ -174,15 +176,15 @@ NATIVE: $(BUILD_WRAPPER)/test.$(VARIANT).exe
174176
175177$(BUILD_WRAPPER ) /test.$(VARIANT ) .exe : $(BUILD_WRAPPER ) /test.$(VARIANT ) .o $(BUILD_WRAPPER ) /interface.$(VARIANT ) .o $(VARIANT_QUICKJS_OBJS )
176178 $(MKDIRP )
177- $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
179+ $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
178180
179181$(BUILD_WRAPPER ) /test.$(VARIANT ) .o : $(WRAPPER_ROOT ) /test.c $(WRAPPER_ROOT ) /interface.h
180182 $(MKDIRP )
181- $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
183+ $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
182184
183185$(BUILD_WRAPPER ) /% .NATIVE_$(RELEASE ) _$(SYNC ) .o : $(WRAPPER_ROOT ) /% .c
184186 $(MKDIRP )
185- $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
187+ $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
186188
187189$(BUILD_QUICKJS ) /% .NATIVE_$(RELEASE ) _$(SYNC ) .o : $(QUICKJS_ROOT ) /% .c
188190 $(MKDIRP )
@@ -195,7 +197,7 @@ $(WRAPPER_ROOT)/interface.h: $(WRAPPER_ROOT)/interface.c generate.ts
195197# ##############################################################################
196198# WASM variants
197199WASM : $(BUILD_TS ) /emscripten-module.$(VARIANT ) .js $(BUILD_TS ) /emscripten-module.$(VARIANT ) .d.ts GENERATE
198- GENERATE : $(BUILD_TS ) /ffi.$(VARIANT ) .ts
200+ GENERATE : $(BUILD_TS ) /ffi.$(VARIANT ) .ts
199201WASM_SYMBOLS =$(BUILD_WRAPPER ) /symbols.json $(BUILD_WRAPPER ) /asyncify-remove.json $(BUILD_WRAPPER ) /asyncify-imports.json
200202
201203$(BUILD_TS ) /emscripten-module.$(VARIANT ) .js : $(BUILD_WRAPPER ) /interface.$(VARIANT ) .o $(VARIANT_QUICKJS_OBJS ) $(WASM_SYMBOLS ) | scripts/emcc.sh
@@ -228,4 +230,4 @@ $(BUILD_WRAPPER)/asyncify-remove.json:
228230
229231$(BUILD_WRAPPER ) /asyncify-imports.json :
230232 $(MKDIRP )
231- $(GENERATE_TS ) async-callback-symbols $@
233+ $(GENERATE_TS ) async-callback-symbols $@
0 commit comments