Makefile
1 .POSIX: 2 3 # Cargo binary 4 CARGO = cargo 5 6 # wasm build target 7 WASM_TARGET = wasm32-unknown-unknown 8 9 # Cargo package name 10 PKGNAME = $(shell grep '^name = ' Cargo.toml | cut -d' ' -f3 | tr -d '"') 11 # wasm contract binary 12 WASM_BIN = $(PKGNAME:=.wasm) 13 14 # zkas compiler binary 15 ZKAS = "../../zkas" 16 17 # zkas circuits 18 PROOFS_SRC = $(shell find proof -type f -name '*.zk') 19 PROOFS_BIN = $(PROOFS_SRC:=.bin) 20 21 # wasm source files 22 WASM_SRC = \ 23 Cargo.toml \ 24 $(shell find src -type f -name '*.rs') 25 26 all: $(WASM_BIN) 27 28 $(PROOFS_BIN): $(PROOFS_SRC) 29 $(ZKAS) $(basename $@) -o $@ 30 31 $(WASM_BIN): $(WASM_SRC) $(PROOFS_BIN) 32 RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) build --target=$(WASM_TARGET) \ 33 --release --package $(PKGNAME) 34 cp -f target/$(WASM_TARGET)/release/$@ $@ 35 wasm-strip $@ 36 37 clippy: all 38 RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(WASM_TARGET) \ 39 --release --package $(PKGNAME) 40 41 clean: 42 RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clean --target=$(WASM_TARGET) \ 43 --release --package $(PKGNAME) 44 rm -f $(PROOFS_BIN) $(WASM_BIN) 45 46 .PHONY: all clippy clean