-
Notifications
You must be signed in to change notification settings - Fork 0
/
makefile
30 lines (24 loc) · 1.13 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
APP_NAME := j1708-tester
BUILD_PATH := ./artifacts
LINUX_BUILD_PATH = $(BUILD_PATH)/linux/$(APP_NAME)
LINUX_ARM_BUILD_PATH = $(BUILD_PATH)/arm/$(APP_NAME)
WINDOWS_BUILD_PATH = $(BUILD_PATH)/windows/$(APP_NAME).exe
MAC_BUILD_PATH = $(BUILD_PATH)/darwin/$(APP_NAME)
.PHONY: build deps run package
build: deps
statik -f -src=./web -dest=./internal/web
mkdir -p artifacts/linux artifacts/arm artifacts/windows artifacts/darwin
GOOS=linux GOARCH=amd64 go build -o $(LINUX_BUILD_PATH) cmd/$(APP_NAME)/main.go
GOOS=linux GOARCH=arm go build -o $(LINUX_ARM_BUILD_PATH) cmd/$(APP_NAME)/main.go
GOOS=darwin GOARCH=amd64 go build -o $(MAC_BUILD_PATH) cmd/$(APP_NAME)/main.go
GOOS=windows GOARCH=amd64 go build -o $(WINDOWS_BUILD_PATH) cmd/$(APP_NAME)/main.go
deps:
go get github.com/rakyll/statik
run:
go run cmd/$(APP_NAME)/main.go
package: build
cd $(BUILD_PATH)/darwin && tar -zcvf ../darwin.tar.gz *
cd $(BUILD_PATH)/linux && tar -zcvf ../linux.tar.gz *
cd $(BUILD_PATH)/arm && tar -zcvf ../arm.tar.gz *
cd $(BUILD_PATH)/windows && zip -r ../windows.zip *
rm -R $(BUILD_PATH)/darwin $(BUILD_PATH)/linux $(BUILD_PATH)/arm $(BUILD_PATH)/windows