123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- BUILD_NUMBER ?= dev+$(shell date -u '+%Y%m%d%H%M%S')
- GO111MODULE = on
- export GO111MODULE
- all:
- make bin-linux
- make bin-arm
- make bin-arm6
- make bin-arm64
- make bin-darwin
- make bin-windows
- bin:
- go build -ldflags "-X main.Build=$(BUILD_NUMBER)" -o ./nebula ./cmd/nebula
- go build -ldflags "-X main.Build=$(BUILD_NUMBER)" -o ./nebula-cert ./cmd/nebula-cert
- install:
- go install -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- go install -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- bin-arm:
- mkdir -p build/arm
- GOARCH=arm GOOS=linux go build -o build/arm/nebula -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=arm GOOS=linux go build -o build/arm/nebula-cert -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- bin-arm6:
- mkdir -p build/arm6
- GOARCH=arm GOARM=6 GOOS=linux go build -o build/arm6/nebula -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=arm GOARM=6 GOOS=linux go build -o build/arm6/nebula-cert -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- bin-arm64:
- mkdir -p build/arm64
- GOARCH=arm64 GOOS=linux go build -o build/arm64/nebula -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=arm64 GOOS=linux go build -o build/arm64/nebula-cert -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- bin-vagrant:
- GOARCH=amd64 GOOS=linux go build -o nebula -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=amd64 GOOS=linux go build -ldflags "-X main.Build=$(BUILD_NUMBER)" -o ./nebula-cert ./cmd/nebula-cert
- bin-darwin:
- mkdir -p build/darwin
- GOARCH=amd64 GOOS=darwin go build -o build/darwin/nebula -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=amd64 GOOS=darwin go build -o build/darwin/nebula-cert -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- bin-windows:
- mkdir -p build/windows
- GOARCH=amd64 GOOS=windows go build -o build/windows/nebula.exe -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=amd64 GOOS=windows go build -o build/windows/nebula-cert.exe -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- bin-linux:
- mkdir -p build/linux
- GOARCH=amd64 GOOS=linux go build -o build/linux/nebula -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula
- GOARCH=amd64 GOOS=linux go build -o build/linux/nebula-cert -ldflags "-X main.Build=$(BUILD_NUMBER)" ./cmd/nebula-cert
- release: all
- tar -zcv -C build/arm/ -f nebula-linux-arm.tar.gz nebula nebula-cert
- tar -zcv -C build/arm6/ -f nebula-linux-arm6.tar.gz nebula nebula-cert
- tar -zcv -C build/arm64/ -f nebula-linux-arm64.tar.gz nebula nebula-cert
- tar -zcv -C build/darwin/ -f nebula-darwin-amd64.tar.gz nebula nebula-cert
- tar -zcv -C build/windows/ -f nebula-windows-amd64.tar.gz nebula.exe nebula-cert.exe
- tar -zcv -C build/linux/ -f nebula-linux-amd64.tar.gz nebula nebula-cert
- vet:
- go vet -v ./...
- test:
- go test -v ./...
- test-cov-html:
- go test -coverprofile=coverage.out
- go tool cover -html=coverage.out
- bench:
- go test -bench=.
- bench-cpu:
- go test -bench=. -benchtime=5s -cpuprofile=cpu.pprof
- go tool pprof go-audit.test cpu.pprof
- bench-cpu-long:
- go test -bench=. -benchtime=60s -cpuprofile=cpu.pprof
- go tool pprof go-audit.test cpu.pprof
- proto: nebula.pb.go cert/cert.pb.go
- nebula.pb.go: nebula.proto .FORCE
- go build github.com/golang/protobuf/protoc-gen-go
- PATH="$(PWD):$(PATH)" protoc --go_out=. $<
- rm protoc-gen-go
- cert/cert.pb.go: cert/cert.proto .FORCE
- $(MAKE) -C cert cert.pb.go
- .FORCE:
- .PHONY: test test-cov-html bench bench-cpu bench-cpu-long bin proto release
- .DEFAULT_GOAL := bin
|