-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
41 lines (29 loc) · 802 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
31
32
33
34
35
36
37
38
39
40
41
SVC = gui
BUILD_DIR = build
CGO_ENABLED ?= 0
GOOS ?= linux
define compile_service
CGO_ENABLED=$(CGO_ENABLED) GOOS=$(GOOS) GOARCH=$(GOARCH) GOARM=$(GOARM) go build -ldflags "-s -w" -o ${BUILD_DIR}/$(1) cmd/main.go
endef
define make_docker
docker build --no-cache --tag=drasko/$(subst docker_,,$(1)) -f docker/Dockerfile .
endef
define make_docker_dev
docker build --tag=drasko/$(subst docker_dev_,,$(1)) -f docker/Dockerfile.dev ./build
endef
all: ${SVC}
.PHONY: ${SVC} dockers dockers_dev
clean:
rm -rf ${BUILD_DIR}
install:
cp ${BUILD_DIR}/* $(GOBIN)
test:
GOCACHE=off go test -v -race -tags test $(shell go list ./... | grep -v 'vendor\|cmd')
${SVC}:
$(call compile_service,$(@))
docker:
$(call make_docker,$(@))
docker_dev:
$(call make_docker_dev,$(@))
run:
${BUILD_DIR}/${SVC}