mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-05 04:43:52 -05:00
199 lines
4.9 KiB
Makefile
199 lines
4.9 KiB
Makefile
.POSIX:
|
|
|
|
# Install prefix
|
|
PREFIX = $(HOME)/.cargo
|
|
|
|
# Cargo binary
|
|
CARGO = cargo
|
|
|
|
# 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
|
|
# If building natively, this might give you more speed
|
|
#RUSTFLAGS = -C target_cpu=native
|
|
|
|
# List of zkas circuits to compile, used for tests
|
|
PROOFS_SRC = \
|
|
$(shell find proof -type f -name '*.zk') \
|
|
$(shell find bin/darkirc/proof -type f -name '*.zk')
|
|
|
|
PROOFS_BIN = $(PROOFS_SRC:=.bin)
|
|
|
|
# List of all binaries built
|
|
BINS = \
|
|
zkas \
|
|
darkfid \
|
|
drk \
|
|
darkirc \
|
|
genev \
|
|
genevd \
|
|
lilith \
|
|
taud \
|
|
vanityaddr \
|
|
explorerd \
|
|
fud \
|
|
fu
|
|
|
|
all: $(BINS)
|
|
|
|
zkas:
|
|
$(MAKE) -C bin/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
$(PROOFS_BIN): zkas $(PROOFS_SRC)
|
|
./zkas $(basename $@) -o $@
|
|
|
|
contracts: zkas
|
|
$(MAKE) -C src/contract/money
|
|
$(MAKE) -C src/contract/dao
|
|
$(MAKE) -C src/contract/deployooor
|
|
|
|
darkfid: contracts
|
|
$(MAKE) -C bin/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
drk: contracts
|
|
$(MAKE) -C bin/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
darkirc: zkas
|
|
$(MAKE) -C bin/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
genev:
|
|
$(MAKE) -C bin/genev/genev-cli \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
genevd:
|
|
$(MAKE) -C bin/genev/genevd \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
lilith:
|
|
$(MAKE) -C bin/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
taud:
|
|
$(MAKE) -C bin/tau/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
vanityaddr:
|
|
$(MAKE) -C bin/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
explorerd:
|
|
$(MAKE) -C bin/explorer/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
explorerd_bundle_contracts_src: contracts
|
|
$(MAKE) -C bin/explorer/explorerd bundle_contracts_src
|
|
|
|
fud:
|
|
$(MAKE) -C bin/fud/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
fu:
|
|
$(MAKE) -C bin/fud/$@ \
|
|
PREFIX="$(PREFIX)" \
|
|
CARGO="$(CARGO)" \
|
|
RUST_TARGET="$(RUST_TARGET)" \
|
|
RUSTFLAGS="$(RUSTFLAGS)"
|
|
|
|
# -- END OF BINS --
|
|
|
|
fmt:
|
|
$(CARGO) +nightly fmt --all
|
|
|
|
# cargo install cargo-hack
|
|
check: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) hack check --target=$(RUST_TARGET) \
|
|
--release --feature-powerset --workspace
|
|
|
|
clippy: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(RUST_TARGET) \
|
|
--release --all-features --workspace --tests
|
|
|
|
fix: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clippy --target=$(RUST_TARGET) \
|
|
--release --all-features --workspace --tests --fix --allow-dirty
|
|
|
|
rustdoc: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) doc --target=$(RUST_TARGET) \
|
|
--release --all-features --workspace --document-private-items --no-deps
|
|
|
|
test: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) test --target=$(RUST_TARGET) \
|
|
--release --all-features --workspace
|
|
|
|
bench-zk-from-json: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
rm -f src/contract/test-harness/*.bin
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) bench --target=$(RUST_TARGET) \
|
|
--bench zk_from_json --all-features --workspace \
|
|
-- --save-baseline master
|
|
|
|
bench: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
rm -f src/contract/test-harness/*.bin
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) bench --target=$(RUST_TARGET) \
|
|
--all-features --workspace \
|
|
-- --save-baseline master
|
|
|
|
coverage: explorerd_bundle_contracts_src $(PROOFS_BIN)
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) llvm-cov --target=$(RUST_TARGET) \
|
|
--release --all-features --workspace --html
|
|
|
|
clean:
|
|
$(MAKE) -C src/contract/money clean
|
|
$(MAKE) -C src/contract/dao clean
|
|
$(MAKE) -C src/contract/deployooor clean
|
|
$(MAKE) -C bin/zkas clean
|
|
$(MAKE) -C bin/darkfid clean
|
|
$(MAKE) -C bin/drk clean
|
|
$(MAKE) -C bin/darkirc clean
|
|
$(MAKE) -C bin/genev/genev-cli clean
|
|
$(MAKE) -C bin/genev/genevd clean
|
|
$(MAKE) -C bin/lilith clean
|
|
$(MAKE) -C bin/tau/taud clean
|
|
$(MAKE) -C bin/vanityaddr clean
|
|
$(MAKE) -C bin/explorer/explorerd clean
|
|
RUSTFLAGS="$(RUSTFLAGS)" $(CARGO) clean --target=$(RUST_TARGET) --release
|
|
rm -f $(PROOFS_BIN)
|
|
|
|
distclean: clean
|
|
rm -rf target
|
|
|
|
.PHONY: all $(BINS) explorerd_bundle_contracts_src fmt check clippy fix rustdoc \
|
|
test bench-zk-from-json bench coverage clean distclean
|