-
Notifications
You must be signed in to change notification settings - Fork 199
/
Makefile
100 lines (86 loc) · 4.05 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
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
VERSION=$(if $(RELEASE_VERSION),$(RELEASE_VERSION),UNSTABLE)
$(info VERSION: $(VERSION))
DARWIN=qshell-$(VERSION)-darwin-x64
DARWINARM64=qshell-$(VERSION)-darwin-arm64
LINUX86=qshell-$(VERSION)-linux-x86
LINUX64=qshell-$(VERSION)-linux-x64
LINUXARM=qshell-$(VERSION)-linux-arm
LINUXARM64=qshell-$(VERSION)-linux-arm64
LINUXMIPS=qshell-$(VERSION)-linux-mips
LINUXMIPSLE=qshell-$(VERSION)-linux-mipsle
LINUXMIPS64=qshell-$(VERSION)-linux-mips64
LINUXMIPS64LE=qshell-$(VERSION)-linux-mips64le
LINUXLOONG64=qshell-$(VERSION)-linux-loong64
LINUXRISCV64=qshell-$(VERSION)-linux-riscv64
WIN86=qshell-$(VERSION)-windows-x86
WIN64=qshell-$(VERSION)-windows-x64
WINARM=qshell-$(VERSION)-windows-arm
WINARM64=qshell-$(VERSION)-windows-arm64
LDFLAGS='-X 'github.com/qiniu/qshell/v2/iqshell/common/version.version=$(VERSION)' -extldflags '-static''
GO=GO111MODULE=on go
all: linux windows darwin
.PHONY: linux windows darwin
darwin: $(DARWIN).zip $(DARWINARM64).zip
linux: $(LINUX86).zip $(LINUX64).zip $(LINUXARM).zip $(LINUXARM64).zip $(LINUXMIPS).zip $(LINUXMIPSLE).zip $(LINUXMIPS64).zip $(LINUXMIPS64LE).zip $(LINUXLOONG64).zip $(LINUXRISCV64).zip
windows: $(WIN86).zip $(WIN64).zip $(WINARM).zip $(WINARM64).zip
qshell-$(VERSION)-darwin-%.zip: qshell-$(VERSION)-darwin-%
@zip $@ $<
qshell-$(VERSION)-linux-%.zip: qshell-$(VERSION)-linux-%
@zip $@ $<
qshell-$(VERSION)-windows-%.zip: qshell-$(VERSION)-windows-%.exe
@zip $@ $<
$(DARWIN):
@GOOS=darwin GOARCH=amd64 $(GO) build -ldflags $(LDFLAGS) -o $(DARWIN) .
$(DARWINARM64):
@GOOS=darwin GOARCH=arm64 $(GO) build -ldflags $(LDFLAGS) -o $(DARWINARM64) .
$(LINUX86):
@CGO_ENABLED=0 GOOS=linux GOARCH=386 $(GO) build -ldflags $(LDFLAGS) -o $(LINUX86) .
$(LINUX64):
@CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build -ldflags $(LDFLAGS) -o $(LINUX64) .
$(LINUXARM):
@CGO_ENABLED=0 GOOS=linux GOARCH=arm $(GO) build -ldflags $(LDFLAGS) -o $(LINUXARM) .
$(LINUXARM64):
@CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(GO) build -ldflags $(LDFLAGS) -o $(LINUXARM64) .
$(LINUXMIPS):
@CGO_ENABLED=0 GOOS=linux GOARCH=mips $(GO) build -ldflags $(LDFLAGS) -o $(LINUXMIPS) .
$(LINUXMIPSLE):
@CGO_ENABLED=0 GOOS=linux GOARCH=mipsle $(GO) build -ldflags $(LDFLAGS) -o $(LINUXMIPSLE) .
$(LINUXMIPS64):
@CGO_ENABLED=0 GOOS=linux GOARCH=mips64 $(GO) build -ldflags $(LDFLAGS) -o $(LINUXMIPS64) .
$(LINUXMIPS64LE):
@CGO_ENABLED=0 GOOS=linux GOARCH=mips64le $(GO) build -ldflags $(LDFLAGS) -o $(LINUXMIPS64LE) .
$(LINUXLOONG64):
@CGO_ENABLED=0 GOOS=linux GOARCH=loong64 $(GO) build -ldflags $(LDFLAGS) -o $(LINUXLOONG64) .
$(LINUXRISCV64):
@CGO_ENABLED=0 GOOS=linux GOARCH=riscv64 $(GO) build -ldflags $(LDFLAGS) -o $(LINUXRISCV64) .
$(WIN86).exe:
@CGO_ENABLED=0 GOOS=windows GOARCH=386 $(GO) build -ldflags $(LDFLAGS) -o $(WIN86).exe .
$(WIN64).exe:
@CGO_ENABLED=0 GOOS=windows GOARCH=amd64 $(GO) build -ldflags $(LDFLAGS) -o $(WIN64).exe .
$(WINARM).exe:
@CGO_ENABLED=0 GOOS=windows GOARCH=arm $(GO) build -ldflags $(LDFLAGS) -o $(WINARM).exe .
$(WINARM64).exe:
@CGO_ENABLED=0 GOOS=windows GOARCH=arm64 $(GO) build -ldflags $(LDFLAGS) -o $(WINARM64).exe .
.PHONY: cleanzip cleanbin clean upload
cleanzip:
@rm -f qshell-$(VERSION)-*.zip
cleanbin:
@rm -f qshell-$(VERSION)-*
clean: cleanzip cleanbin
upload:
qshell rput devtools $(DARWIN).zip $(DARWIN).zip
qshell rput devtools $(DARWINARM64).zip $(DARWINARM64).zip
qshell rput devtools $(LINUX86).zip $(LINUX86).zip
qshell rput devtools $(LINUX64).zip $(LINUX64).zip
qshell rput devtools $(LINUXARM).zip $(LINUXARM).zip
qshell rput devtools $(LINUXARM64).zip $(LINUXARM64).zip
qshell rput devtools $(LINUXMIPS).zip $(LINUXMIPS).zip
qshell rput devtools $(LINUXMIPSLE).zip $(LINUXMIPSLE).zip
qshell rput devtools $(LINUXMIPS64).zip $(LINUXMIPS64).zip
qshell rput devtools $(LINUXMIPS64LE).zip $(LINUXMIPS64LE).zip
qshell rput devtools $(LINUXLOONG64).zip $(LINUXLOONG64).zip
qshell rput devtools $(LINUXRISCV64).zip $(LINUXRISCV64).zip
qshell rput devtools $(WIN86).zip $(WIN86).zip
qshell rput devtools $(WIN64).zip $(WIN64).zip
qshell rput devtools $(WINARM).zip $(WINARM).zip
qshell rput devtools $(WINARM64).zip $(WINARM64).zip