github.com/stealthrocket/wzprof@v0.2.1-0.20230830205924-5fa86be5e5b3/Makefile (about) 1 .PHONY: all clean test testdata wasi-libc 2 3 testdata.c.src = $(wildcard testdata/c/*.c) 4 testdata.c.wasm = $(testdata.c.src:.c=.wasm) 5 6 testdata.go.src = $(wildcard testdata/go/*.go) 7 testdata.go.wasm = $(testdata.go.src:.go=.wasm) 8 9 testdata.tinygo.src = $(wildcard testdata/tinygo/*.go) 10 testdata.tinygo.wasm = $(testdata.tinygo.src:.go=.wasm) 11 12 testdata.wat.src = $(wildcard testdata/wat/*.go) 13 testdata.wat.wasm = $(testdata.wat.src:.wat=.wasm) 14 15 testdata.files = \ 16 $(testdata.c.wasm) \ 17 $(testdata.go.wasm) \ 18 $(testdata.tinygo.wasm) \ 19 $(testdata.wat.wasm) 20 21 python.files = .python/python.wasm .python/python311.zip 22 23 all: test 24 25 clean: 26 rm -f $(testdata.files) $(python.files) 27 28 test: testdata 29 go test ./... 30 31 testdata: wasi-libc python $(testdata.files) 32 33 testdata/.sysroot: 34 mkdir -p testdata/.sysroot 35 36 testdata/.wasi-libc: testdata/.wasi-libc/.git 37 38 testdata/.wasi-libc/.git: .gitmodules 39 git submodule update --init --recursive -- testdata/.wasi-libc 40 41 testdata/.sysroot/lib/wasm32-wasi/libc.a: testdata/.wasi-libc 42 make -j4 -C testdata/.wasi-libc install INSTALL_DIR=../.sysroot 43 44 testdata/c/%.c: wasi-libc 45 testdata/c/%.wasm: testdata/c/%.c 46 clang $< -o $@ -Wall -g -Os -target wasm32-unknown-wasi --sysroot testdata/.sysroot 47 48 testdata/go/%.wasm: testdata/go/%.go 49 GOARCH=wasm GOOS=wasip1 gotip build -o $@ $< 50 51 testdata/tinygo/%.wasm: testdata/tinygo/%.go 52 tinygo build -target=wasi -o $@ $< 53 54 testdata/wat/%.wasm: testdata/wat/%.wat 55 wat2wasm -o $@ $< 56 57 wasi-libc: testdata/.sysroot/lib/wasm32-wasi/libc.a 58 59 python: $(python.files) 60 61 .python/python.wasm: 62 mkdir -p $(dir $@) 63 curl -fsSL https://timecraft.s3.amazonaws.com/python-vanilla/main/python.wasm -o $@ 64 65 .python/python311.zip: 66 mkdir -p $(dir $@) 67 curl -fsSL https://timecraft.s3.amazonaws.com/python-vanilla/main/python311.zip -o $@ 68 69 .gitmodules: 70 git submodule add --name wasi-libc -- \ 71 'https://github.com/WebAssembly/wasi-libc' testdata/.wasi-libc