github.com/bcskill/bcschain/v3@v3.4.9-beta2/Makefile (about) 1 .PHONY: gochain android ios gochain-cross swarm evm all test clean 2 .PHONY: gochain-linux gochain-linux-386 gochain-linux-amd64 gochain-linux-mips64 gochain-linux-mips64le 3 .PHONY: gochain-linux-arm gochain-linux-arm-5 gochain-linux-arm-6 gochain-linux-arm-7 gochain-linux-arm64 4 .PHONY: gochain-darwin gochain-darwin-386 gochain-darwin-amd64 5 .PHONY: gochain-windows gochain-windows-386 gochain-windows-amd64 6 .PHONY: docker release 7 8 GOBIN = $(shell pwd)/build/bin 9 GO ?= latest 10 11 # Compare current go version to minimum required version. Exit with \ 12 # error message if current version is older than required version. 13 # Set min_ver to the mininum required Go version such as "1.12" 14 min_ver := 1.12 15 ver = $(shell go version) 16 ver2 = $(word 3, ,$(ver)) 17 cur_ver = $(subst go,,$(ver2)) 18 ver_check := $(filter $(min_ver),$(firstword $(sort $(cur_ver) \ 19 $(min_ver)))) 20 ifeq ($(ver_check),) 21 $(error Running Go version $(cur_ver). Need $(min_ver) or higher. Please upgrade Go version) 22 endif 23 24 gochain: 25 cd cmd/gochain; go build -o ../../bin/gochain 26 @echo "Done building." 27 @echo "Run \"bin/gochain\" to launch gochain." 28 29 bootnode: 30 cd cmd/bootnode; go build -o ../../bin/gochain-bootnode 31 @echo "Done building." 32 @echo "Run \"bin/gochain-bootnode\" to launch gochain." 33 34 docker: 35 docker build -t gochain/gochain . 36 37 all: bootnode gochain 38 39 release: 40 ./release.sh 41 42 install: all 43 cp bin/gochain-bootnode $(GOPATH)/bin/gochain-bootnode 44 cp bin/gochain $(GOPATH)/bin/gochain 45 46 android: 47 build/env.sh go run build/ci.go aar --local 48 @echo "Done building." 49 @echo "Import \"$(GOBIN)/gochain.aar\" to use the library." 50 51 ios: 52 build/env.sh go run build/ci.go xcode --local 53 @echo "Done building." 54 @echo "Import \"$(GOBIN)/gochain.framework\" to use the library." 55 56 test: 57 go test ./... 58 59 clean: 60 rm -fr build/_workspace/pkg/ $(GOBIN)/* 61 62 # The devtools target installs tools required for 'go generate'. 63 # You need to put $GOBIN (or $GOPATH/bin) in your PATH to use 'go generate'. 64 65 devtools: 66 env GOBIN= go get -u golang.org/x/tools/cmd/stringer 67 env GOBIN= go get -u github.com/kevinburke/go-bindata/go-bindata 68 env GOBIN= go get -u github.com/fjl/gencodec 69 env GOBIN= go get -u github.com/golang/protobuf/protoc-gen-go 70 env GOBIN= go install ./cmd/abigen 71 @type "npm" 2> /dev/null || echo 'Please install node.js and npm' 72 @type "solc" 2> /dev/null || echo 'Please install solc' 73 @type "protoc" 2> /dev/null || echo 'Please install protoc' 74 75 # Cross Compilation Targets (xgo) 76 77 gochain-cross: gochain-linux gochain-darwin gochain-windows gochain-android gochain-ios 78 @echo "Full cross compilation done:" 79 @ls -ld $(GOBIN)/gochain-* 80 81 gochain-linux: gochain-linux-386 gochain-linux-amd64 gochain-linux-arm gochain-linux-mips64 gochain-linux-mips64le 82 @echo "Linux cross compilation done:" 83 @ls -ld $(GOBIN)/gochain-linux-* 84 85 gochain-linux-386: 86 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/386 -v ./cmd/gochain 87 @echo "Linux 386 cross compilation done:" 88 @ls -ld $(GOBIN)/gochain-linux-* | grep 386 89 90 gochain-linux-amd64: 91 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/amd64 -v ./cmd/gochain 92 @echo "Linux amd64 cross compilation done:" 93 @ls -ld $(GOBIN)/gochain-linux-* | grep amd64 94 95 gochain-linux-arm: gochain-linux-arm-5 gochain-linux-arm-6 gochain-linux-arm-7 gochain-linux-arm64 96 @echo "Linux ARM cross compilation done:" 97 @ls -ld $(GOBIN)/gochain-linux-* | grep arm 98 99 gochain-linux-arm-5: 100 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm-5 -v ./cmd/gochain 101 @echo "Linux ARMv5 cross compilation done:" 102 @ls -ld $(GOBIN)/gochain-linux-* | grep arm-5 103 104 gochain-linux-arm-6: 105 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm-6 -v ./cmd/gochain 106 @echo "Linux ARMv6 cross compilation done:" 107 @ls -ld $(GOBIN)/gochain-linux-* | grep arm-6 108 109 gochain-linux-arm-7: 110 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm-7 -v ./cmd/gochain 111 @echo "Linux ARMv7 cross compilation done:" 112 @ls -ld $(GOBIN)/gochain-linux-* | grep arm-7 113 114 gochain-linux-arm64: 115 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm64 -v ./cmd/gochain 116 @echo "Linux ARM64 cross compilation done:" 117 @ls -ld $(GOBIN)/gochain-linux-* | grep arm64 118 119 gochain-linux-mips: 120 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mips --ldflags '-extldflags "-static"' -v ./cmd/gochain 121 @echo "Linux MIPS cross compilation done:" 122 @ls -ld $(GOBIN)/gochain-linux-* | grep mips 123 124 gochain-linux-mipsle: 125 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mipsle --ldflags '-extldflags "-static"' -v ./cmd/gochain 126 @echo "Linux MIPSle cross compilation done:" 127 @ls -ld $(GOBIN)/gochain-linux-* | grep mipsle 128 129 gochain-linux-mips64: 130 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mips64 --ldflags '-extldflags "-static"' -v ./cmd/gochain 131 @echo "Linux MIPS64 cross compilation done:" 132 @ls -ld $(GOBIN)/gochain-linux-* | grep mips64 133 134 gochain-linux-mips64le: 135 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mips64le --ldflags '-extldflags "-static"' -v ./cmd/gochain 136 @echo "Linux MIPS64le cross compilation done:" 137 @ls -ld $(GOBIN)/gochain-linux-* | grep mips64le 138 139 gochain-darwin: gochain-darwin-386 gochain-darwin-amd64 140 @echo "Darwin cross compilation done:" 141 @ls -ld $(GOBIN)/gochain-darwin-* 142 143 gochain-darwin-386: 144 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=darwin/386 -v ./cmd/gochain 145 @echo "Darwin 386 cross compilation done:" 146 @ls -ld $(GOBIN)/gochain-darwin-* | grep 386 147 148 gochain-darwin-amd64: 149 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=darwin/amd64 -v ./cmd/gochain 150 @echo "Darwin amd64 cross compilation done:" 151 @ls -ld $(GOBIN)/gochain-darwin-* | grep amd64 152 153 gochain-windows: gochain-windows-386 gochain-windows-amd64 154 @echo "Windows cross compilation done:" 155 @ls -ld $(GOBIN)/gochain-windows-* 156 157 gochain-windows-386: 158 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=windows/386 -v ./cmd/gochain 159 @echo "Windows 386 cross compilation done:" 160 @ls -ld $(GOBIN)/gochain-windows-* | grep 386 161 162 gochain-windows-amd64: 163 build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=windows/amd64 -v ./cmd/gochain 164 @echo "Windows amd64 cross compilation done:" 165 @ls -ld $(GOBIN)/gochain-windows-* | grep amd64