-
Notifications
You must be signed in to change notification settings - Fork 4
/
Makefile
100 lines (72 loc) · 2.78 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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
programname = zerostick
.PHONY: clean build run test
default: zerostick
zerostick: certs
go build -a -o $(programname) *.go
certs:
if [ ! -d zerostick_web/certs ]; then ./scripts/generate_certs.sh; fi
install:
go install .
generate:
mkdir -p build/bin
go generate
image: build_arm6 rclone dms
./scripts/build_image.sh
dist: image
mv build/pi-gen/deploy/*.img .
zip -9 ZeroStick.zip *.img
rclone:
./scripts/build_rclone.sh
dms:
./scripts/build_dms.sh
build_darwin: generate certs
GOOS=darwin GOARCH=amd64 go build -tags=deploy_build -a -o ./build/bin/$(programname) *.go
#zip ./build/$(programname)_darwin64.zip ./build/$(programname)
build_linux: generate certs
GOOS=linux GOARCH=amd64 go build -tags=deploy_build -a -o ./build/bin/$(programname) *.go
#zip ./build/$(programname)_linux64.zip ./build/$(programname)
# The Raspberry Pi Zero
build_arm6: generate certs
GOOS=linux GOARM=6 GOARCH=arm go build -tags=deploy_build -a -o ./build/bin/$(programname) *.go
#zip ./build/$(programname)_linux_arm6.zip ./build/$(programname)
build_arm7: generate certs
GOOS=linux GOARM=7 GOARCH=arm go build -tags=deploy_build -a -o ./build/bin/$(programname) *.go
#zip ./build/$(programname)_linux_arm7.zip ./build/$(programname)
build_win64: generate certs
GOOS=windows GOARCH=amd64 go build -tags=deploy_build -a -o ./build/bin/$(programname).exe *.go
#zip ./build/$(programname)_win64.zip ./build/$(programname).exe
build_win32: generate certs
GOOS=windows GOARCH=386 go build -tags=deploy_build -a -o ./build/bin/$(programname).exe *.go
#zip ./build/$(programname)_win32.zip ./build/$(programname).exe
for_snap: generate certs
GOOS=linux GOARM=7 GOARCH=arm go build -tags=deploy_build -a -o ./$(programname) *.go
# all: build_darwin build_linux build_arm6 build_arm7 build_win64 build_win32
# rm ./build/$(programname)
# rm ./build/$(programname).exe
ui:
cd ./zerostick_web/ui/; \
if [ ! -d node_modules ]; then npm ci; fi ;\
rm -rf public/build ;\
npm run build
ui_dev:
cd ./zerostick_web/ui; \
npm run dev
test:
PATH="`pwd`/test/mock:$(PATH)" go test -v test/*.go
run: zerostick
./$(programname) -d serve
runmock: zerostick
PATH="`pwd`/test/mock:$(PATH)" ./$(programname) -d serve
# Development target; Build, push to zerostick.local and restart service
device: certs
GOOS=linux GOARM=6 GOARCH=arm go build -tags=deploy_build -a -o ./build/bin/$(programname) *.go
scp build/bin/zerostick [email protected]:
scp -r zerostick_web [email protected]:
ssh [email protected] "sudo mv zerostick /opt/zerostick/ && sudo rm -rf /opt/zerostick/zerostick_web && sudo mv zerostick_web /opt/zerostick/ && sudo systemctl restart zerostick.service"
clean:
- rm -rf build
- rm -rf zerostick_web/ui/public/build
- rm -f zerostick
- docker rm -v pigen_work || true
real_clean: clean
- rm -rf cache