-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
30 lines (23 loc) · 1022 Bytes
/
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
SRCS := $(shell find . -name "*.go" -type f)
BUILD := builds
RELEASE := releases
LDFLAGS := -s -w -extldflags -static
GOX_OSARCH := darwin/amd64 linux/amd64 windows/amd64
GOX_OUTPUT := $(BUILD)/{{.OS}}_{{.Arch}}/{{.Dir}}
.PHONY: build docker-build-builder docker-build test
build: $(SRCS) go.mod go.sum docker-build-builder
docker run --rm -v "$(shell pwd):/w" unity-meta-checker-builder -ldflags="$(LDFLAGS)" -osarch="$(GOX_OSARCH)" -output="$(GOX_OUTPUT)" ./...
package: build
mkdir -p $(RELEASE)
tar czf $(RELEASE)/unity-meta-checker_darwin_amd64.tar.gz -C $(BUILD)/darwin_amd64 .
tar czf $(RELEASE)/unity-meta-checker_linux_amd64.tar.gz -C $(BUILD)/linux_amd64 .
cd $(BUILD)/windows_amd64 && zip -r $(CURDIR)/$(RELEASE)/unity-meta-checker_windows_amd64.zip .
docker-build-builder: Dockerfile.builder
docker build -t unity-meta-checker-builder -f Dockerfile.builder .
docker-build:
docker build -t unity-meta-checker .
test:
go test -v ./...
clean:
-rm -rf $(BUILD)
-rm -rf $(RELEASE)