-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
31 lines (24 loc) · 914 Bytes
/
Makefile
File metadata and controls
31 lines (24 loc) · 914 Bytes
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
.PHONY: build clean test install release
BINARY_NAME=compliance-cli
VERSION?=dev
COMMIT=$(shell git rev-parse --short HEAD)
DATE=$(shell date -u '+%Y-%m-%d_%H:%M:%S')
LDFLAGS=-ldflags "-X main.version=${VERSION} -X main.commit=${COMMIT} -X main.date=${DATE}"
build:
go build ${LDFLAGS} -o bin/${BINARY_NAME} cmd/deploy/main.go
clean:
go clean
rm -rf bin/
test:
go test -v ./...
install: build
cp bin/${BINARY_NAME} /usr/local/bin/
# Build for multiple platforms
release:
GOOS=darwin GOARCH=amd64 go build ${LDFLAGS} -o bin/${BINARY_NAME}-darwin-amd64 cmd/deploy/main.go
GOOS=darwin GOARCH=arm64 go build ${LDFLAGS} -o bin/${BINARY_NAME}-darwin-arm64 cmd/deploy/main.go
GOOS=linux GOARCH=amd64 go build ${LDFLAGS} -o bin/${BINARY_NAME}-linux-amd64 cmd/deploy/main.go
GOOS=linux GOARCH=arm64 go build ${LDFLAGS} -o bin/${BINARY_NAME}-linux-arm64 cmd/deploy/main.go
deps:
go mod download
go mod tidy