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