11# WASM_OPT ?= $(shell rm node_modules/.bin/wasm-opt ; which wasm-opt)
22JCO ?= ./node_modules/.bin/jco
3+ STARLINGMONKEY_SRC ?= StarlingMonkey
34
45ifndef JCO
56 JCO = $(error No jco in PATH. Run npm install -g @bytecodealliance/jco)
910# WASM_OPT = $(error No Binaryen wasm-opt in PATH)
1011# endif
1112
13+ STARLINGMONKEY_DEPS = $(STARLINGMONKEY_SRC ) /cmake/* embedding/* $(STARLINGMONKEY_SRC ) /runtime/* $(STARLINGMONKEY_SRC ) /builtins/* $(STARLINGMONKEY_SRC ) /builtins/*/* $(STARLINGMONKEY_SRC ) /builtins/*/*/* $(STARLINGMONKEY_SRC ) /include/*
14+
1215all : release
1316debug : lib/starlingmonkey_embedding.debug.wasm lib/spidermonkey-embedding-splicer.js
1417release : lib/starlingmonkey_embedding.wasm lib/spidermonkey-embedding-splicer.js
@@ -21,23 +24,20 @@ lib/spidermonkey-embedding-splicer.js: target/wasm32-wasip1/release/spidermonkey
2124target/wasm32-wasip1/release/spidermonkey_embedding_splicer.wasm : Cargo.toml crates/spidermonkey-embedding-splicer/Cargo.toml crates/spidermonkey-embedding-splicer/src/* .rs
2225 cargo build --release --target wasm32-wasip1
2326
24- lib/starlingmonkey_embedding.wasm : StarlingMonkey/cmake/ * embedding/ * StarlingMonkey/runtime/ * StarlingMonkey/builtins/ * StarlingMonkey/builtins/ * / * StarlingMonkey/builtins/ * / * / * StarlingMonkey/include/ * | lib
27+ lib/starlingmonkey_embedding.wasm : $( STARLINGMONKEY_DEPS ) | lib
2528 cmake -B build-release -DCMAKE_BUILD_TYPE=Release
26- make -j16 -C build-release
27- @cp build-release/starling-raw.wasm/starling-raw.wasm $@
29+ make -j16 -C build-release starlingmonkey_embedding
2830
29- lib/starlingmonkey_embedding_weval.wasm : StarlingMonkey/cmake/ * embedding/ * StarlingMonkey/runtime/ * StarlingMonkey/builtins/ * StarlingMonkey/builtins/ * / * StarlingMonkey/builtins/ * / * / * StarlingMonkey/include/ * | lib
31+ lib/starlingmonkey_embedding_weval.wasm : $( STARLINGMONKEY_DEPS ) | lib
3032 cmake -B build-release-weval -DCMAKE_BUILD_TYPE=Release -DUSE_WASM_OPT=OFF -DWEVAL=ON
31- make -j16 -C build-release-weval
32- @cp build-release-weval/starling-raw.wasm/starling-raw.wasm $@
33+ make -j16 -C build-release-weval starlingmonkey_embedding
3334
3435lib/starlingmonkey_ics.wevalcache : lib/starlingmonkey_embedding_weval.wasm
3536 @cp build-release-weval/starling-raw.wasm/starling-ics.wevalcache $@
3637
37- lib/starlingmonkey_embedding.debug.wasm : StarlingMonkey/cmake/ * embedding/ * StarlingMonkey/runtime/ * StarlingMonkey/builtins/ * StarlingMonkey/builtins/ * / * StarlingMonkey/builtins/ * / * / * StarlingMonkey/include/ * | lib
38+ lib/starlingmonkey_embedding.debug.wasm : $( STARLINGMONKEY_DEPS ) | lib
3839 cmake -B build-debug -DCMAKE_BUILD_TYPE=RelWithDebInfo
39- make -j16 -C build-debug
40- wasm-tools strip build-debug/starling-raw.wasm/starling-raw.wasm -d " .debug_(info|loc|ranges|abbrev|line|str)" -o $@
40+ make -j16 -C build-debug starlingmonkey_embedding
4141
4242obj :
4343 mkdir -p obj
0 commit comments