-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
37 lines (30 loc) · 1.11 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
version?=0.0.0
VERSION?=$(version)
export VERSION
test:
go test ./...
clean:
rm -rf ./bin
build:
$(MAKE) build-darwin
$(MAKE) build-linux
$(MAKE) build-windows
build-darwin:
GOOS=darwin GOARCH=amd64 \
go build -o ./bin/subenv-$(VERSION)-darwin-amd64/subenv \
-ldflags "-X 'main.version=$(VERSION)' -X 'main.goos=darwin' -X 'main.goarch=amd64'" \
./cmd/cli/subenv.go \
&& cd bin; zip -r subenv-$(VERSION)-darwin-amd64.zip ./subenv-$(VERSION)-darwin-amd64; cd ..
build-linux:
GOOS=linux GOARCH=amd64 \
go build -o ./bin/subenv-$(VERSION)-linux-amd64/subenv \
-ldflags "-X 'main.version=$(VERSION)' -X 'main.goos=linux' -X 'main.goarch=amd64'" \
./cmd/cli/subenv.go \
&& cd bin; tar -czf subenv-$(VERSION)-linux-amd64.tar.gz ./subenv-$(VERSION)-linux-amd64; cd ..
build-windows:
GOOS=windows GOARCH=amd64 \
go build -o ./bin/subenv-$(VERSION)-windows-amd64/subenv.exe \
-ldflags "-X 'main.version=$(VERSION)' -X 'main.goos=windows' -X 'main.goarch=amd64'" \
./cmd/cli/subenv.go \
&& cd bin; zip -r subenv-$(VERSION)-windows-amd64.zip ./subenv-$(VERSION)-windows-amd64; cd ..
all: test clean build