b7cfe31d72
* Initial version of nym-name-service, based on nym-service-provider-directory * rustfmt * Rename to NameEntry * Restrict address format * Remove deprecated random test * Fix clippy * Add to top-level Makefile * Restore wasm-opt Makefile rule * Restore NymAddress as enum * rustfmt * Add contract address to qa-qwerty.env * Rename NymAddress to Address * Tweak event output * rustfmt * add event_tag() * qwerty contract address
129 lines
4.2 KiB
Makefile
129 lines
4.2 KiB
Makefile
# Default target
|
|
all: test
|
|
|
|
test: clippy-all cargo-test wasm fmt
|
|
|
|
test-all: test cargo-test-expensive
|
|
|
|
no-clippy: build cargo-test wasm fmt
|
|
|
|
happy: fmt clippy-happy test
|
|
|
|
# Building release binaries is a little manual as we can't just build --release
|
|
# on all workspaces.
|
|
build-release: build-release-main wasm
|
|
|
|
# Deprecated
|
|
# For backwards compatibility
|
|
clippy-all: clippy
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Define targets for a given workspace
|
|
# $(1): name
|
|
# $(2): path to workspace
|
|
# $(3): extra arguments to cargo
|
|
# -----------------------------------------------------------------------------
|
|
define add_cargo_workspace
|
|
|
|
clippy-happy-$(1):
|
|
cargo clippy --manifest-path $(2)/Cargo.toml $(3)
|
|
|
|
clippy-$(1):
|
|
cargo clippy --manifest-path $(2)/Cargo.toml --workspace $(3) -- -D warnings
|
|
|
|
clippy-examples-$(1):
|
|
cargo clippy --manifest-path $(2)/Cargo.toml --workspace --examples -- -D warnings
|
|
|
|
check-$(1):
|
|
cargo check --manifest-path $(2)/Cargo.toml --workspace $(3)
|
|
|
|
test-$(1):
|
|
cargo test --manifest-path $(2)/Cargo.toml --workspace
|
|
|
|
test-expensive-$(1):
|
|
cargo test --manifest-path $(2)/Cargo.toml --workspace -- --ignored
|
|
|
|
build-$(1):
|
|
cargo build --manifest-path $(2)/Cargo.toml --workspace $(3)
|
|
|
|
build-examples-$(1):
|
|
cargo build --manifest-path $(2)/Cargo.toml --workspace --examples
|
|
|
|
build-release-$(1):
|
|
cargo build --manifest-path $(2)/Cargo.toml --workspace --release $(3)
|
|
|
|
fmt-$(1):
|
|
cargo fmt --manifest-path $(2)/Cargo.toml --all
|
|
|
|
clippy-happy: clippy-happy-$(1)
|
|
clippy: clippy-$(1) clippy-examples-$(1)
|
|
check: check-$(1)
|
|
cargo-test: test-$(1)
|
|
cargo-test-expensive: test-expensive-$(1)
|
|
build: build-$(1) build-examples-$(1)
|
|
build-release-all: build-release-$(1)
|
|
fmt: fmt-$(1)
|
|
|
|
endef
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Rust workspaces
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Generate targets for the various cargo workspaces
|
|
|
|
$(eval $(call add_cargo_workspace,main,.))
|
|
$(eval $(call add_cargo_workspace,contracts,contracts,--target wasm32-unknown-unknown))
|
|
$(eval $(call add_cargo_workspace,wasm-client,clients/webassembly,--target wasm32-unknown-unknown))
|
|
$(eval $(call add_cargo_workspace,wallet,nym-wallet,))
|
|
$(eval $(call add_cargo_workspace,connect,nym-connect/desktop))
|
|
ifdef NYM_MOBILE
|
|
$(eval $(call add_cargo_workspace,connect-mobile,nym-connect/mobile/src-tauri))
|
|
endif
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Convenience targets for crates that are already part of the main workspace
|
|
# -----------------------------------------------------------------------------
|
|
|
|
build-explorer-api:
|
|
cargo build -p explorer-api
|
|
|
|
build-nym-cli:
|
|
cargo build -p nym-cli --release
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Build contracts ready for deploy
|
|
# -----------------------------------------------------------------------------
|
|
|
|
CONTRACTS_OUT_DIR=contracts/target/wasm32-unknown-unknown/release
|
|
VESTING_CONTRACT=$(CONTRACTS_OUT_DIR)/vesting_contract.wasm
|
|
MIXNET_CONTRACT=$(CONTRACTS_OUT_DIR)/mixnet_contract.wasm
|
|
SERVICE_PROVIDER_DIRECTORY_CONTRACT=$(CONTRACTS_OUT_DIR)/nym_service_provider_directory.wasm
|
|
NAME_SERVICE_CONTRACT=$(CONTRACTS_OUT_DIR)/nym_name_service.wasm
|
|
|
|
wasm: wasm-build wasm-opt
|
|
|
|
wasm-build:
|
|
RUSTFLAGS='-C link-arg=-s' cargo build --manifest-path contracts/Cargo.toml --release --target wasm32-unknown-unknown
|
|
|
|
wasm-opt:
|
|
wasm-opt --disable-sign-ext -Os $(VESTING_CONTRACT) -o $(VESTING_CONTRACT)
|
|
wasm-opt --disable-sign-ext -Os $(MIXNET_CONTRACT) -o $(MIXNET_CONTRACT)
|
|
wasm-opt --disable-sign-ext -Os $(SERVICE_PROVIDER_DIRECTORY_CONTRACT) -o $(SERVICE_PROVIDER_DIRECTORY_CONTRACT)
|
|
wasm-opt --disable-sign-ext -Os $(NAME_SERVICE_CONTRACT) -o $(NAME_SERVICE_CONTRACT)
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Misc
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# NOTE: this seems deprecated an not needed anymore?
|
|
mixnet-opt: wasm
|
|
cd contracts/mixnet && make opt
|
|
|
|
generate-typescript:
|
|
cd tools/ts-rs-cli && cargo run && cd ../..
|
|
yarn types:lint:fix
|
|
|
|
run-api-tests:
|
|
cd nym-api/tests/functional_test && yarn test:qa
|