This repository has been archived by the owner on Nov 5, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 33
/
Makefile
98 lines (72 loc) · 1.9 KB
/
Makefile
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
.PHONY: compile rel cover test typecheck doc ci start stop reset
REBAR=./rebar3
BUILDER_IMAGE=erlang:24-alpine
RUNNER_IMAGE=alpine:3.17
APP_VERSION=$$(git tag --points-at HEAD)
OS_NAME=$(shell uname -s)
PROFILE ?= dev
grpc_services_directory=src/grpc/autogen
ifeq (${OS_NAME},FreeBSD)
make="gmake"
else
MAKE="make"
endif
compile:
$(REBAR) compile
shell:
$(REBAR) shell
clean:
rm -rf $(grpc_services_directory)
$(REBAR) clean
cover:
$(REBAR) cover
test:
$(REBAR) as test do eunit,ct
ci:
$(REBAR) do xref, dialyzer
typecheck:
$(REBAR) dialyzer
doc:
$(REBAR) edoc
grpc: | $(grpc_services_directory)
@echo "generating grpc services"
REBAR_CONFIG="config/grpc_server_gen.config" $(REBAR) grpc gen
clean_grpc:
@echo "cleaning grpc services"
rm -rf $(grpc_services_directory)
$(grpc_services_directory):
@echo "grpc service directory $(directory) does not exist"
$(REBAR) get-deps
release:
$(REBAR) as $(PROFILE) do release
.PHONY: docs
start:
./_build/$(PROFILE)/rel/blockchain_node/bin/blockchain_node start
stop:
-./_build/$(PROFILE)/rel/blockchain_node/bin/blockchain_node stop
console:
./_build/$(PROFILE)/rel/blockchain_node/bin/blockchain_node remote_console
docker-build:
docker build \
--build-arg VERSION=$(APP_VERSION) \
--build-arg BUILDER_IMAGE=$(BUILDER_IMAGE) \
--build-arg RUNNER_IMAGE=$(RUNNER_IMAGE) \
-t helium/node .
docker-clean: docker-stop
docker rm node
docker-start:
mkdir -p $(HOME)/node_data
docker run -d --init \
--publish 44158:44158/tcp \
--publish 4467:4467/tcp \
--name node \
--mount type=bind,source=$(HOME)/node_data,target=/var/data \
helium/node
docker-stop:
docker stop node
docs:
$(MAKE) -C docs
update-genesis:
curl -o priv/genesis https://snapshots.helium.wtf/genesis.mainnet
curl -o priv/genesis_testnet https://snapshots.helium.wtf/genesis.testnet
curl -o priv/genesis_devnet https://snapshots.helium.wtf/genesis.devnet