-
Notifications
You must be signed in to change notification settings - Fork 41
/
Makefile
112 lines (87 loc) · 4.07 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# This Makefile is meant to be used by people that do not usually work
# with Go source code. If you know what GOPATH is then you probably
# don't need to bother with make.
.PHONY: gero android ios gero-cross swarm evm all test clean
.PHONY: gero-linux gero-linux-386 gero-linux-amd64 gero-linux-mips64 gero-linux-mips64le
.PHONY: gero-linux-arm gero-linux-arm-5 gero-linux-arm-6 gero-linux-arm-7 gero-linux-arm64
.PHONY: gero-darwin gero-darwin-386 gero-darwin-amd64
.PHONY: gero-windows gero-windows-386 gero-windows-amd64
GOBIN = $(shell pwd)/build/bin
root=$(shell pwd)
GO ?= latest
PKG = ./...
gero:
build/env.sh go run build/ci.go install ./cmd/gero
@echo "Done building."
@echo "Run \"$(GOBIN)/gero\" to launch gero."
swarm:
build/env.sh go run build/ci.go install ./cmd/swarm
@echo "Done building."
@echo "Run \"$(GOBIN)/swarm\" to launch swarm."
all:
build/env.sh go run build/ci.go install
test: all
build/env.sh go run build/ci.go test
lint: ## Run linters.
build/env.sh go run build/ci.go lint $(PKG)
clean:
./build/clean_go_build_cache.sh
rm -fr build/_workspace/pkg/ $(GOBIN)/*
# The devtools target installs tools required for 'go generate'.
# You need to put $GOBIN (or $GOPATH/bin) in your PATH to use 'go generate'.
devtools:
env GOBIN= go get -u golang.org/x/tools/cmd/stringer
env GOBIN= go get -u github.com/kevinburke/go-bindata/go-bindata
env GOBIN= go get -u github.com/fjl/gencodec
env GOBIN= go get -u github.com/golang/protobuf/protoc-gen-go
env GOBIN= go install ./cmd/abigen
@type "npm" 2> /dev/null || echo 'Please install node.js and npm'
@type "solc" 2> /dev/null || echo 'Please install solc'
@type "protoc" 2> /dev/null || echo 'Please install protoc'
# Cross Compilation Targets (xgo)
gero-cross: gero-linux gero-darwin gero-windows
@echo "Full cross compilation done:"
@ls -ld $(GOBIN)/gero-*
gero-linux: gero-linux-amd64-v3 gero-linux-amd64-v4
@echo "Linux cross compilation done:"
@ls -ld $(GOBIN)/gero-linux-*
gero-linux-amd64-v3:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=gero-v3 --targets=linux/amd64 -v ./cmd/gero
#build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=bootnode-v3 --targets=linux/amd64 -v ./cmd/bootnode
@echo "Linux centos amd64 cross compilation done:"
@ls -ld $(GOBIN)/gero-v3-linux-* | grep amd64
gero-linux-amd64-v4:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=gero-v4 --targets=linux/amd64 -v ./cmd/gero
#build/env.sh linux-v3 go run build/ci.go xgo -- --go=$(GO) --out=bootnode-v4 --targets=linux/amd64 -v ./cmd/bootnode
@echo "Linux ubuntu amd64 cross compilation done:"
@ls -ld $(GOBIN)/gero-v4-linux-* | grep amd64
gero-darwin: gero-darwin-amd64
@echo "Darwin cross compilation done:"
@ls -ld $(GOBIN)/gero-darwin-*
gero-darwin-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=darwin/amd64 -v ./cmd/gero
@echo "Darwin amd64 cross compilation done:"
@ls -ld $(GOBIN)/gero-darwin-* | grep amd64
gero-windows: gero-windows-amd64
@echo "Windows cross compilation done:"
@ls -ld $(GOBIN)/gero-windows-*
gero-windows-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=windows/amd64 -v ./cmd/gero
@echo "Windows amd64 cross compilation done:"
@ls -ld $(GOBIN)/gero-windows-* | grep amd64
gerotx-darwin-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=gerotx --targets=darwin/amd64 -v ./cmd/tx
@echo "Darwin amd64 cross compilation done:"
@ls -ld $(GOBIN)/gerotx-darwin-* | grep amd64
gerotx-linux-amd64-v3:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=gerotx-v3 --targets=linux/amd64 -v ./cmd/tx
@echo "Linux centos amd64 cross compilation done:"
@ls -ld $(GOBIN)/gerotx-v3-linux-* | grep amd64
gerotx-linux-amd64-v4:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=gerotx-v4 --targets=linux/amd64 -v ./cmd/tx
@echo "Linux ubuntu amd64 cross compilation done:"
@ls -ld $(GOBIN)/gerotx-v4-linux-* | grep amd64
gerotx-windows-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --out=gerotx --targets=windows/amd64 -v ./cmd/tx
@echo "Windows amd64 cross compilation done:"
@ls -ld $(GOBIN)/gerotx-windows-* | grep amd64