github.com/kisexp/xdchain@v0.0.0-20211206025815-490d6b732aa7/Makefile (about) 1 # This Makefile is meant to be used by people that do not usually work 2 # with Go source code. If you know what GOPATH is then you probably 3 # don't need to bother with make. 4 5 .PHONY: geth android ios geth-cross evm all test clean 6 .PHONY: geth-linux geth-linux-386 geth-linux-amd64 geth-linux-mips64 geth-linux-mips64le 7 .PHONY: geth-linux-arm geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-arm64 8 .PHONY: geth-darwin geth-darwin-386 geth-darwin-amd64 9 .PHONY: geth-windows geth-windows-386 geth-windows-amd64 10 11 GOBIN = ./build/bin 12 GO ?= latest 13 GORUN = env GO111MODULE=on go run 14 15 geth: 16 $(GORUN) build/ci.go install ./cmd/geth 17 @echo "Done building." 18 @echo "Run \"$(GOBIN)/geth\" to launch geth." 19 20 bootnode: 21 $(GORUN) build/ci.go install ./cmd/bootnode 22 @echo "Done building." 23 @echo "Run \"$(GOBIN)/bootnode\" to launch bootnode." 24 25 all: 26 $(GORUN) build/ci.go install 27 28 android: 29 $(GORUN) build/ci.go aar --local 30 @echo "Done building." 31 @echo "Import \"$(GOBIN)/geth.aar\" to use the library." 32 @echo "Import \"$(GOBIN)/geth-sources.jar\" to add javadocs" 33 @echo "For more info see https://stackoverflow.com/questions/20994336/android-studio-how-to-attach-javadoc" 34 35 ios: 36 $(GORUN) build/ci.go xcode --local 37 @echo "Done building." 38 @echo "Import \"$(GOBIN)/Geth.framework\" to use the library." 39 40 test: all 41 $(GORUN) build/ci.go test 42 43 lint: ## Run linters. 44 $(GORUN) build/ci.go lint 45 46 clean: 47 env GO111MODULE=on go clean -cache 48 rm -fr build/_workspace/pkg/ $(GOBIN)/* 49 50 # The devtools target installs tools required for 'go generate'. 51 # You need to put $GOBIN (or $GOPATH/bin) in your PATH to use 'go generate'. 52 53 devtools: 54 env GOBIN= go get -u golang.org/x/tools/cmd/stringer 55 env GOBIN= go get -u github.com/kevinburke/go-bindata/go-bindata 56 env GOBIN= go get -u github.com/fjl/gencodec 57 env GOBIN= go get -u github.com/golang/protobuf/protoc-gen-go 58 env GOBIN= go install ./cmd/abigen 59 @type "npm" 2> /dev/null || echo 'Please install node.js and npm' 60 @type "solc" 2> /dev/null || echo 'Please install solc' 61 @type "protoc" 2> /dev/null || echo 'Please install protoc' 62 63 # Cross Compilation Targets (xgo) 64 65 geth-cross: geth-linux geth-darwin geth-windows geth-android geth-ios 66 @echo "Full cross compilation done:" 67 @ls -ld $(GOBIN)/geth-* 68 69 geth-linux: geth-linux-386 geth-linux-amd64 geth-linux-arm geth-linux-mips64 geth-linux-mips64le 70 @echo "Linux cross compilation done:" 71 @ls -ld $(GOBIN)/geth-linux-* 72 73 geth-linux-386: 74 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/386 -v ./cmd/geth 75 @echo "Linux 386 cross compilation done:" 76 @ls -ld $(GOBIN)/geth-linux-* | grep 386 77 78 geth-linux-amd64: 79 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/amd64 -v ./cmd/geth 80 @echo "Linux amd64 cross compilation done:" 81 @ls -ld $(GOBIN)/geth-linux-* | grep amd64 82 83 geth-linux-arm: geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-arm64 84 @echo "Linux ARM cross compilation done:" 85 @ls -ld $(GOBIN)/geth-linux-* | grep arm 86 87 geth-linux-arm-5: 88 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm-5 -v ./cmd/geth 89 @echo "Linux ARMv5 cross compilation done:" 90 @ls -ld $(GOBIN)/geth-linux-* | grep arm-5 91 92 geth-linux-arm-6: 93 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm-6 -v ./cmd/geth 94 @echo "Linux ARMv6 cross compilation done:" 95 @ls -ld $(GOBIN)/geth-linux-* | grep arm-6 96 97 geth-linux-arm-7: 98 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm-7 -v ./cmd/geth 99 @echo "Linux ARMv7 cross compilation done:" 100 @ls -ld $(GOBIN)/geth-linux-* | grep arm-7 101 102 geth-linux-arm64: 103 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm64 -v ./cmd/geth 104 @echo "Linux ARM64 cross compilation done:" 105 @ls -ld $(GOBIN)/geth-linux-* | grep arm64 106 107 geth-linux-mips: 108 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mips --ldflags '-extldflags "-static"' -v ./cmd/geth 109 @echo "Linux MIPS cross compilation done:" 110 @ls -ld $(GOBIN)/geth-linux-* | grep mips 111 112 geth-linux-mipsle: 113 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mipsle --ldflags '-extldflags "-static"' -v ./cmd/geth 114 @echo "Linux MIPSle cross compilation done:" 115 @ls -ld $(GOBIN)/geth-linux-* | grep mipsle 116 117 geth-linux-mips64: 118 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mips64 --ldflags '-extldflags "-static"' -v ./cmd/geth 119 @echo "Linux MIPS64 cross compilation done:" 120 @ls -ld $(GOBIN)/geth-linux-* | grep mips64 121 122 geth-linux-mips64le: 123 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mips64le --ldflags '-extldflags "-static"' -v ./cmd/geth 124 @echo "Linux MIPS64le cross compilation done:" 125 @ls -ld $(GOBIN)/geth-linux-* | grep mips64le 126 127 geth-darwin: geth-darwin-386 geth-darwin-amd64 128 @echo "Darwin cross compilation done:" 129 @ls -ld $(GOBIN)/geth-darwin-* 130 131 geth-darwin-386: 132 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=darwin/386 -v ./cmd/geth 133 @echo "Darwin 386 cross compilation done:" 134 @ls -ld $(GOBIN)/geth-darwin-* | grep 386 135 136 geth-darwin-amd64: 137 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=darwin/amd64 -v ./cmd/geth 138 @echo "Darwin amd64 cross compilation done:" 139 @ls -ld $(GOBIN)/geth-darwin-* | grep amd64 140 141 geth-windows: geth-windows-386 geth-windows-amd64 142 @echo "Windows cross compilation done:" 143 @ls -ld $(GOBIN)/geth-windows-* 144 145 geth-windows-386: 146 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=windows/386 -v ./cmd/geth 147 @echo "Windows 386 cross compilation done:" 148 @ls -ld $(GOBIN)/geth-windows-* | grep 386 149 150 geth-windows-amd64: 151 $(GORUN) build/ci.go xgo -- --go=$(GO) --targets=windows/amd64 -v ./cmd/geth 152 @echo "Windows amd64 cross compilation done:" 153 @ls -ld $(GOBIN)/geth-windows-* | grep amd64