-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
36 lines (27 loc) · 1.02 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
GOFLAGS := -tags netgo -installsuffix netgo -ldflags '-w -s --extldflags "-static"'
GOVERSION=$(shell go version)
GOOS=$(word 1,$(subst /, ,$(lastword $(GOVERSION))))
GOARCH=$(word 2,$(subst /, ,$(lastword $(GOVERSION))))
BUILD_DIR=build/$(GOOS)-$(GOARCH)
.PHONY: all build clean deps package package-zip package-targz
all: build
build: deps
mkdir -p $(BUILD_DIR)
GOOS=$(GOOS) GOARCH=$(GOARCH) go build $(GOFLAGS) -o ./$(BUILD_DIR)/make-shadow
clean:
rm -rf build package
deps:
go mod download
package:
$(MAKE) package-targz GOOS=linux GOARCH=amd64
$(MAKE) package-targz GOOS=linux GOARCH=386
$(MAKE) package-targz GOOS=linux GOARCH=arm64
$(MAKE) package-targz GOOS=linux GOARCH=arm
$(MAKE) package-zip GOOS=darwin GOARCH=amd64
$(MAKE) package-zip GOOS=windows GOARCH=amd64
package-zip: build
mkdir -p package
cd $(BUILD_DIR) && zip ../../package/make-shadow_$(GOOS)_$(GOARCH).zip make-shadow
package-targz: build
mkdir -p package
cd $(BUILD_DIR) && tar zcvf ../../package/make-shadow_$(GOOS)_$(GOARCH).tar.gz make-shadow