Makefile 755 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. .POSIX:
  2. WASM_SRC = $(shell find src -type f)
  3. PROOF_SRC = $(shell find proof -type f -name '*.zk')
  4. # Cargo binary
  5. CARGO = cargo
  6. # zkas binary
  7. ZKAS = ../../zkas
  8. # wasm-strip binary (Part of https://github.com/WebAssembly/wabt)
  9. WASM_STRIP = wasm-strip
  10. # Contract WASM binary
  11. WASM_BIN = contract.wasm
  12. # ZK circuit binaries
  13. PROOF_BIN = $(PROOF_SRC:=.bin)
  14. all: $(PROOF_BIN) $(WASM_BIN)
  15. strip: $(WASM_BIN)
  16. $(WASM_STRIP) $<
  17. $(WASM_BIN): $(WASM_SRC)
  18. $(CARGO) build --release --lib --target wasm32-unknown-unknown
  19. cp -f target/wasm32-unknown-unknown/release/*.wasm $@
  20. $(PROOF_BIN): $(PROOF_SRC)
  21. $(ZKAS) $(basename $@) -o $@
  22. test: all
  23. $(CARGO) test --release -- --nocapture
  24. clean:
  25. rm -f $(PROOF_BIN) $(WASM_BIN)
  26. .PHONY: $(WASM_BIN) all test clean