Files
revive/Makefile
T
Sebastian Miasojed 5ac67bdc0d Initial wasm support
2024-08-29 17:28:31 +02:00

78 lines
2.1 KiB
Makefile

.PHONY: install format test test-solidity test-cli test-integration test-workspace clean docs docs-build
RUSTFLAGS_EMSCRIPTEN := \
-Clink-arg=-sEXPORTED_FUNCTIONS=_main,_free,_malloc \
-Clink-arg=-sNO_INVOKE_RUN \
-Clink-arg=-sEXIT_RUNTIME \
-Clink-arg=-sINITIAL_MEMORY=64MB \
-Clink-arg=-sTOTAL_MEMORY=3GB \
-Clink-arg=-sALLOW_MEMORY_GROWTH \
-Clink-arg=-sEXPORTED_RUNTIME_METHODS=FS,callMain,stringToNewUTF8,cwrap \
-Clink-arg=-sMODULARIZE \
-Clink-arg=-sEXPORT_ES6 \
-Clink-arg=--js-library=js/soljson_interface.js
install: install-bin install-npm
install-bin:
cargo install --path crates/solidity
install-wasm:
RUSTFLAGS='$(RUSTFLAGS_EMSCRIPTEN)' cargo install --target wasm32-unknown-emscripten --path crates/solidity
install-npm:
npm install && npm fund
format:
cargo fmt --all --check
test: format clippy test-cli test-workspace
cargo test --workspace
test-integration: install-bin
cargo test --package revive-integration
test-solidity: install
cargo test --package revive-solidity
test-workspace: install
cargo test --workspace
test-cli: install
npm run test:cli
bench-prepare: install-bin
cargo criterion --bench prepare --features bench-evm,bench-pvm --message-format=json \
| criterion-table > crates/benchmarks/PREPARE.md
bench-execute: install-bin
cargo criterion --bench execute --features bench-evm,bench-pvm --message-format=json \
| criterion-table > crates/benchmarks/EXECUTE.md
bench-extensive: install-bin
cargo criterion --all --all-features --message-format=json \
| criterion-table > crates/benchmarks/BENCHMARKS.md
bench-quick: install-bin
cargo criterion --all --features bench-evm
bench: install-bin
cargo criterion --all --features bench-evm,bench-pvm --message-format=json \
| criterion-table > crates/benchmarks/BENCHMARKS.md
clippy:
cargo clippy --all-features --workspace --tests --benches
docs: docs-build
mdbook serve --open docs/
docs-build:
mdbook test docs/ && mdbook build docs/
clean:
cargo clean ; \
rm -rf node_modules ; \
rm -rf crates/solidity/src/tests/cli-tests/artifacts ; \
cargo uninstall revive-solidity ; \
rm -f package-lock.json