-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
82 lines (66 loc) · 2.47 KB
/
Copy pathMakefile
File metadata and controls
82 lines (66 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
.PHONY: run
run: chainspec
bunx @acala-network/chopsticks@1.0.6 --config poc/runtime/chopsticks.yml --genesis output/chainspec.json
GUEST_EXAMPLES = $(shell find guest-examples -name "Cargo.toml" -not -path "guest-examples/Cargo.toml" | xargs -I{} sh -c 'grep "^name" "{}" | cut -d"=" -f2 | tr -d " \""')
GUEST_TARGETS = $(patsubst %,guest-%,$(GUEST_EXAMPLES))
DUMMY_GUEST_TARGETS = $(patsubst %,dummy-guest-%,$(GUEST_EXAMPLES))
.PHONY: guests
guests: $(GUEST_TARGETS)
.PHONY: dummy-guests
dummy-guests: $(DUMMY_GUEST_TARGETS)
# Build a specific guest example. Optional FEATURES variable can be used to enable cargo features.
# Usage: make guest-swap-info FEATURES="asset-hub"
guest-%:
mkdir -p output
cd guest-examples; METADATA_OUTPUT_DIR=$(shell pwd)/output cargo build --release --bin $* -p $* $(if $(FEATURES),--features $(FEATURES))
polkatool link --run-only-if-newer -s guest-examples/target/riscv32emac-unknown-none-polkavm/release/$* -o output/$*.polkavm
dummy-guest-%:
mkdir -p output
touch output/$*.polkavm
.PHONY: tools
tools: polkatool chain-spec-builder pvq-program-metadata-gen
.PHONY: polkatool
polkatool:
cargo install --path vendor/polkavm/tools/polkatool
.PHONY: pvq-program-metadata-gen
pvq-program-metadata-gen:
cargo install --path pvq-program-metadata-gen
.PHONY: chain-spec-builder
chain-spec-builder:
cargo install --locked chain-spec-builder@0.5.0
.PHONY: fmt
fmt:
cargo fmt --all
.PHONY: check-wasm
check-wasm:
cargo check --no-default-features --target=wasm32-unknown-unknown \
-p pvq-program \
-p pvq-program-metadata-gen \
-p pvq-executor \
-p pvq-extension-core \
-p pvq-extension-fungibles \
-p pvq-extension-swap \
-p pvq-extension \
-p pvq-primitives \
-p pvq-runtime-api
cargo check -p poc-runtime
.PHONY: clippy-root
clippy-root:
SKIP_WASM_BUILD=1 cargo clippy -- -D warnings
.PHONY: clippy-guests
clippy-guests:
mkdir -p output
cd guest-examples; METADATA_OUTPUT_DIR=$(shell pwd)/output cargo clippy --all
.PHONY: clippy
clippy: clippy-root clippy-guests
.PHONY: test
test:
SKIP_WASM_BUILD= cargo test
.PHONY: chainspec
chainspec:
cargo build -p poc-runtime --release
mkdir -p output
cp target/release/wbuild/poc-runtime/poc_runtime.compact.compressed.wasm output
chain-spec-builder -c output/chainspec.json create -n poc-runtime -i poc-runtime -r ./output/poc_runtime.compact.compressed.wasm -s default
cat output/chainspec.json | jq '.properties = {}' > output/chainspec.json.tmp
mv output/chainspec.json.tmp output/chainspec.json