forked from solo-io/glooctl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
66 lines (52 loc) · 2.04 KB
/
Makefile
File metadata and controls
66 lines (52 loc) · 2.04 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
SOURCES := $(shell find . -name *.go)
BINARY:=glooctl
OUTPUT_DIR ?= _output
OUTPUT_BINARY ?= $(OUTPUT_DIR)/$(BINARY)
VERSION:=$(shell cat version)
UNAME := $(shell uname)
REPO := glooctl
$(OUTPUT_DIR):
mkdir -p $@
build: $(OUTPUT_BINARY)
$(OUTPUT_BINARY): $(SOURCES)
CGO_ENABLED=0 go build -ldflags "-X main.Version=$(VERSION)" -v -o $@ *.go
#release-darwin: $(BINARY)-darwin
# mkdir -p release
# tar cvzf release/$(BINARY)-$(VERSION)-macOS-64.tar.gz $(BINARY)
#
#release-win: $(BINARY)-win
# mkdir -p release
# zip release/$(BINARY)-$(VERSION)-Windows-64.zip $(BINARY).exe
#
#release-linux: $(BINARY)-linux
# mkdir -p release
# tar cvzf release/$(BINARY)-$(VERSION)-Linux-64.tar.gz $(BINARY)
#
#release: release-darwin release-win release-linux
#ifeq ($(UNAME),Darwin)
# cd release && shasum -a 256 * > $(BINARY)-$(VERSION)-checksums.txt
#else
# cd release && sha256sum * > $(BINARY)-$(VERSION)-checksums.txt
#endif
test:
ginkgo -r -v
clean:
rm -f $(BINARY)
rm -f $(BINARY).exe
rm -rf release
#----------------------------------------------------------------------------------
# Release
#----------------------------------------------------------------------------------
RELEASE_BINARIES := $(OUTPUT_DIR)/glooctl-linux-amd64 $(OUTPUT_DIR)/glooctl-darwin-amd64 $(OUTPUT_DIR)/glooctl-win-amd64
$(OUTPUT_DIR)/glooctl-linux-amd64: $(SOURCES)
GOOS=linux CGO_ENABLED=0 go build -ldflags "-X main.Version=$(VERSION)" -v -o $@ *.go
$(OUTPUT_DIR)/glooctl-darwin-amd64: $(SOURCES)
GOOS=darwin CGO_ENABLED=0 go build -ldflags "-X main.Version=$(VERSION)" -v -o $@ *.go
$(OUTPUT_DIR)/glooctl-win-amd64: $(SOURCES)
GOOS=windows CGO_ENABLED=0 go build -ldflags "-X main.Version=$(VERSION)" -v -o $@ *.go
.PHONY: release-binaries
release-binaries: $(RELEASE_BINARIES)
.PHONY: release
release: release-binaries
hack/create-release.sh github_api_token=$(GITHUB_TOKEN) owner=solo-io repo=$(REPO) tag=v$(VERSION)
@$(foreach BINARY,$(RELEASE_BINARIES),hack/upload-github-release-asset.sh github_api_token=$(GITHUB_TOKEN) owner=solo-io repo=$(REPO) tag=v$(VERSION) filename=$(BINARY);)