-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
36 lines (28 loc) · 875 Bytes
/
Makefile
File metadata and controls
36 lines (28 loc) · 875 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
32
33
34
35
36
APP_NAME = kviator
VERSION = latest
all: package
clean:
@echo "--> Cleaning build"
@rm -rf ./build
@rm -rf ./release
prepare:
@echo "--> Preparing build"
@mkdir -p build/bin/`go env GOOS`/`go env GOARCH`
@mkdir -p build/test
@mkdir -p build/doc
@mkdir -p build/zip
format:
@echo "--> Formatting source code"
@go fmt ./...
deps:
@echo "--> Getting dependencies"
@go get -d -v ./...
test: prepare format deps
@echo "--> Testing application"
@go test -outputdir build/test ./...
build: prepare format deps
@echo "--> Building local application"
@go build -o build/bin/`go env GOOS`/`go env GOARCH`/${VERSION}/${APP_NAME} -ldflags "-X main.version=${VERSION}" -v .
package: build
@echo "--> Packaging application"
@zip -vj build/zip/${APP_NAME}-${VERSION}-`go env GOOS`-`go env GOARCH`.zip build/bin/`go env GOOS`/`go env GOARCH`/${VERSION}/${APP_NAME}