2
2
CC =clang
3
3
EMSDK_VERSION =3.1.7
4
4
EMSDK_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
6
6
GENERATE_TS =$(VARIANT_GENERATE_TS_ENV ) npx ts-node generate.ts
7
7
PRETTIER =npx prettier
8
+ THIS_DIR := $(dir $(abspath $(firstword $(MAKEFILE_LIST ) ) ) )
8
9
9
10
DEBUG_MAKE =1
10
11
@@ -40,6 +41,7 @@ WRAPPER_ROOT=c
40
41
BUILD_ROOT =build
41
42
BUILD_WRAPPER =$(BUILD_ROOT ) /wrapper
42
43
BUILD_QUICKJS =$(BUILD_ROOT ) /quickjs
44
+ BUILD_EMSDK_CACHE =$(BUILD_ROOT ) /emsdk-cache
43
45
BUILD_TS =ts/generated
44
46
45
47
# QuickJS
@@ -174,15 +176,15 @@ NATIVE: $(BUILD_WRAPPER)/test.$(VARIANT).exe
174
176
175
177
$(BUILD_WRAPPER ) /test.$(VARIANT ) .exe : $(BUILD_WRAPPER ) /test.$(VARIANT ) .o $(BUILD_WRAPPER ) /interface.$(VARIANT ) .o $(VARIANT_QUICKJS_OBJS )
176
178
$(MKDIRP )
177
- $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
179
+ $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
178
180
179
181
$(BUILD_WRAPPER ) /test.$(VARIANT ) .o : $(WRAPPER_ROOT ) /test.c $(WRAPPER_ROOT ) /interface.h
180
182
$(MKDIRP )
181
- $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
183
+ $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
182
184
183
185
$(BUILD_WRAPPER ) /% .NATIVE_$(RELEASE ) _$(SYNC ) .o : $(WRAPPER_ROOT ) /% .c
184
186
$(MKDIRP )
185
- $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
187
+ $(CC ) $(VARIANT_CFLAGS ) -o $@ $<
186
188
187
189
$(BUILD_QUICKJS ) /% .NATIVE_$(RELEASE ) _$(SYNC ) .o : $(QUICKJS_ROOT ) /% .c
188
190
$(MKDIRP )
@@ -195,7 +197,7 @@ $(WRAPPER_ROOT)/interface.h: $(WRAPPER_ROOT)/interface.c generate.ts
195
197
# ##############################################################################
196
198
# WASM variants
197
199
WASM : $(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
199
201
WASM_SYMBOLS =$(BUILD_WRAPPER ) /symbols.json $(BUILD_WRAPPER ) /asyncify-remove.json $(BUILD_WRAPPER ) /asyncify-imports.json
200
202
201
203
$(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:
228
230
229
231
$(BUILD_WRAPPER ) /asyncify-imports.json :
230
232
$(MKDIRP )
231
- $(GENERATE_TS ) async-callback-symbols $@
233
+ $(GENERATE_TS ) async-callback-symbols $@
0 commit comments