-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
35 lines (25 loc) · 1.09 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
EXECUTABLE=kube-switch
VERSION=$(shell git describe --tags `git rev-list --tags --max-count=1`)
LINUX=$(EXECUTABLE)_linux_amd64
DARWIN=$(EXECUTABLE)_darwin_amd64
.PHONY: help clean
build: linux darwin ## Build for all platforms
@echo version: $(VERSION)
pretty:
@goimports -w cmd sdk internal
linux: $(LINUX)
darwin: $(DARWIN)
$(LINUX):
env GOOS=linux GOARCH=amd64 go build -v -o "bin/$(LINUX)" -ldflags="-s -w -X main.version=$(VERSION)" -trimpath ./cmd/kube-switch/main.go
$(DARWIN):
env GOOS=darwin GOARCH=amd64 go build -v -o "bin/$(DARWIN)" -ldflags="-s -w -X main.version=$(VERSION)" -trimpath ./cmd/kube-switch/main.go
clean: ## Delete built binaries
rm -f "bin/$(LINUX)" "bin/$(DARWIN)"
help: ## Display available commands
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
package: build ## Package binary for many distributions
mkdir -p ./dist
rm -f ./dist/*
nfpm pkg --packager deb --target ./dist
nfpm pkg --packager rpm --target ./dist
tar -czvf ./dist/$(EXECUTABLE)-$(VERSION)-darwin.tar.gz bin/$(DARWIN)