| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- .POSIX:
- # Cargo binary
- CARGO = cargo +nightly
- # Compile target for system binaries
- RUST_TARGET = $(shell rustc -Vv | grep '^host: ' | cut -d' ' -f2)
- # Uncomment when doing musl static builds
- #RUSTFLAGS = -C target-feature=+crt-static -C link-self-contained=yes
- # wasm build target
- WASM_TARGET = wasm32-unknown-unknown
- # Cargo package name
- PKGNAME = $(shell grep '^name = ' Cargo.toml | cut -d' ' -f3 | tr -d '"')
- # wasm contract binary
- WASM_BIN = $(PKGNAME:=.wasm)
- # zkas compiler binary
- ZKAS = ../../../zkas
- # zkas circuits
- PROOFS_SRC = $(shell find proof -type f -name '*.zk')
- PROOFS_BIN = $(PROOFS_SRC:=.bin)
- # wasm source files
- WASM_SRC = \
- Cargo.toml \
- ../../../Cargo.toml \
- ../../../src/sdk/Cargo.toml \
- ../../../src/serial/Cargo.toml \
- $(shell find src -type f -name '*.rs') \
- $(shell find ../../sdk -type f -name '*.rs') \
- $(shell find ../../serial -type f -name '*.rs')
- all: $(WASM_BIN)
- $(PROOFS_BIN): $(ZKAS) $(PROOFS_SRC)
- $(ZKAS) $(basename $@) -o $@
- $(WASM_BIN): $(WASM_SRC) $(PROOFS_BIN)
- RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) build --target=$(WASM_TARGET) \
- --release --package $(PKGNAME)
- cp -f ../../../target/$(WASM_TARGET)/release/$@ $@
- wasm-strip $@
- test-integration: all
- RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) test --target=$(RUST_TARGET) \
- --release --package $(PKGNAME) \
- --features=no-entrypoint,client \
- --test integration
- test: test-integration
- clippy: all
- RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(WASM_TARGET) \
- --release --package $(PKGNAME)
- RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(RUST_TARGET) \
- --release --package $(PKGNAME) \
- --features=no-entrypoint,client --tests
- clean:
- RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clean --target=$(WASM_TARGET) \
- --release --package $(PKGNAME)
- RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clean --target=$(RUST_TARGET) \
- --release --package $(PKGNAME)
- rm -f $(PROOFS_BIN) $(WASM_BIN)
- .PHONY: all test-integration test clippy clean
|