forked from fantasticmao/nginx-log-analyzer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
64 lines (44 loc) · 1.47 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
NAME=nginx-log-analyzer
BIN_DIR=bin
VERSION=$(shell cat VERSION)
BUILD_TIME=$(shell date -u)
COMMIT_HASH=$(shell git rev-parse --short HEAD)
GO_BUILD=CGO_ENABLED=0 go build -trimpath -ldflags \
'-X "main.Version=$(VERSION)" \
-X "main.BuildTime=$(BUILD_TIME)" \
-X "main.CommitHash=$(COMMIT_HASH)" \
-w -s'
PLATFORM_LIST=darwin-amd64 darwin-arm64 linux-amd64 linux-armv5 linux-armv6 linux-armv7 linux-armv8 windows-amd64
default: build
.PHONY: default
build: darwin-amd64 linux-amd64 windows-amd64 # Most used
build-all: $(PLATFORM_LIST)
.PHONY: build build-all
darwin-amd64:
GOARCH=amd64 GOOS=darwin $(GO_BUILD) -o $(BIN_DIR)/$(NAME)-$@
darwin-arm64:
GOARCH=arm64 GOOS=darwin $(GO_BUILD) -o $(BIN_DIR)/$(NAME)-$@
linux-amd64:
GOARCH=amd64 GOOS=linux $(GO_BUILD) -o ./$(BIN_DIR)/$(NAME)-$@
linux-armv5:
GOARCH=arm GOOS=linux GOARM=5 $(GO_BUILD) -o $(BIN_DIR)/$(NAME)-$@
linux-armv6:
GOARCH=arm GOOS=linux GOARM=6 $(GO_BUILD) -o $(BIN_DIR)/$(NAME)-$@
linux-armv7:
GOARCH=arm GOOS=linux GOARM=7 $(GO_BUILD) -o $(BIN_DIR)/$(NAME)-$@
linux-armv8:
GOARCH=arm64 GOOS=linux $(GO_BUILD) -o $(BIN_DIR)/$(NAME)-$@
windows-amd64:
GOARCH=amd64 GOOS=windows $(GO_BUILD) -o $(BIN_DIR)/$(NAME)[email protected]
test:
go test ./... -v
.PHONY: test
clean:
rm $(BIN_DIR)/*
.PHONY: clean
help:
@echo 'make clean: clean project'
@echo 'make test: compile and test project'
@echo 'make [build]: compile and build project'
@echo 'make build-all: compile and build project for all platform'
.PHONY: clean