mirror of
https://github.com/remko/waforth
synced 2024-11-17 07:48:06 +01:00
47 lines
1.1 KiB
Makefile
47 lines
1.1 KiB
Makefile
WASM2WAT=wasm2wat
|
|
WAT2WASM=wat2wasm
|
|
WAT2WASM_FLAGS=
|
|
ifeq ($(DEBUG),1)
|
|
WAT2WASM_FLAGS=--debug-names
|
|
endif
|
|
|
|
WASM_FILES=src/waforth.wasm tests/benchmarks/sieve-vanilla.wasm
|
|
|
|
all: $(WASM_FILES)
|
|
yarn -s build
|
|
|
|
dev-server: $(WASM_FILES)
|
|
yarn -s dev-server
|
|
|
|
wasm: $(WASM_FILES) src/waforth.assembled.wat src/tools/quadruple.wasm.hex
|
|
|
|
src/waforth.wasm: src/waforth.wat dist
|
|
./src/tools/preprocess.js $< > src/waforth.out.wat
|
|
$(WAT2WASM) $(WAT2WASM_FLAGS) -o $@ src/waforth.out.wat
|
|
|
|
src/waforth.assembled.wat: src/waforth.wasm
|
|
$(WASM2WAT) --fold-exprs --inline-imports --inline-exports -o $@ $<
|
|
|
|
tests/benchmarks/sieve-vanilla.wasm: tests/benchmarks/sieve-vanilla.wat
|
|
$(WAT2WASM) $(WAT2WASM_FLAGS) -o $@ $<
|
|
|
|
dist:
|
|
mkdir -p $@
|
|
|
|
src/tools/quadruple.wasm: src/tools/quadruple.wat
|
|
$(WAT2WASM) $(WAT2WASM_FLAGS) -o $@ $<
|
|
|
|
src/tools/quadruple.wasm.hex: src/tools/quadruple.wasm
|
|
hexdump -v -e '16/1 "_u%04X" "\n"' $< | sed 's/_/\\/g; s/\\u //g; s/.*/ "&"/' > $@
|
|
|
|
clean:
|
|
-rm -rf $(WASM_FILES) src/tools/quadruple.wasm src/tools/quadruple.wasm.hex src/waforth.wat.tmp dist
|
|
|
|
check: $(WASM_FILES)
|
|
yarn -s test
|
|
|
|
check-watch: $(WASM_FILES)
|
|
yarn -s test-watch
|
|
|
|
lint:
|
|
yarn -s lint
|