-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
152 lines (109 loc) · 4.98 KB
/
Makefile
File metadata and controls
152 lines (109 loc) · 4.98 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
version="1.1.12"
version_file=VERSION
working_dir=$(shell pwd)
arch="armhf"
remote_host = "fh@cube.local"
reprepo_host = "reprepro@archive.futurehome.no"
build-js:
-mkdir -p package/debian/opt/fimpui/static/fimpui
cd static/fimpui;ng build --prod --deploy-url=/fimp/static/
cp -R static/fimpui/dist package/debian/opt/fimpui/static/fimpui/
cp -R static/help package/debian/opt/fimpui/static/
cp -R static/misc package/debian/opt/fimpui/static/
build-go-arm:
GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-s -w -X main.Version=${version}" -o fimpui
build-go-mac-arm64:
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w -X main.Version=${version}" -o fimpui
build-go-mac-amd64:
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X main.Version=${version}" -o fimpui
build-go:
go build -ldflags="-X main.Version=${version}" -o fimpui
build-go-amd64:
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags="-s -w -X main.Version=${version}" -o package/docker/build/amd64/fimpui
build-go-arm64:
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags="-s -w -X main.Version=${version}" -o package/docker/build/arm64/fimpui
build-go-x86:
GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -ldflags="-s -w main.Version=${version}" -o fimpui
clean-deb:
find package/debian -name ".DS_Store" -delete
clean:
-rm -R package/debian/opt/fimpui/static/fhcore/*
-rm -R package/debian/opt/fimpui/static/fimpui/dist/*
-rm package/debian/opt/fimpui/fimpui
-rm fimpui
configure-arm:
python ./scripts/config_env.py prod $(version) armhf
configure-amd64:
python ./scripts/config_env.py prod $(version) amd64
configure-dev-js:
python ./scripts/config_env.py dev $(version) armhf
prep-docker:
cp VERSION package/docker
cp -R static/fimpui/dist package/docker/static/fimpui/
cp -R static/help package/docker/static/
cp -R static/misc package/docker/static/
install-to-local-docker:build-go-amd64 prep-docker
docker build --build-arg TARGETARCH=amd64 -t thingsplex/tplexui:${version} -t thingsplex/tplexui:latest ./package/docker
package-docker-amd64:prep-docker
docker buildx build --platform linux/amd64 -t thingsplex/tplexui:${version} -t thingsplex/tplexui:latest ./package/docker
package-docker-arm64:prep-docker
docker buildx build --platform linux/arm64 -t thingsplex/tplexui:${version} -t thingsplex/tplexui:latest ./package/docker
package-docker-multi:prep-docker
docker buildx build --platform linux/arm64,linux/amd64 -t thingsplex/tplexui:${version} -t thingsplex/tplexui:latest ./package/docker --push
package-tar:
cp fimpui package/tar
cp VERSION package/tar
cp -R static/fimpui/dist package/tar/static/fimpui/
cp -R static/help package/tar/static/
cp -R static/misc package/tar/static/
tar cvzf package/build/tplexui_${version}.tar.gz package/tar
package-deb-doc:clean-deb
@echo "Packaging application as debian package"
chmod a+x package/debian/DEBIAN/*
cp fimpui package/debian/opt/fimpui
cp VERSION package/debian/opt/fimpui
cp -R static/fimpui/dist package/debian/opt/fimpui/static/fimpui/
cp -R static/help package/debian/opt/fimpui/static/
cp -R static/misc package/debian/opt/fimpui/static/
-mkdir package/build
docker run --rm -v ${working_dir}:/build -w /build --name debuild debian dpkg-deb --build package/debian
@echo "Done"
tar-arm: clean configure-amd64 build-js build-go-arm package-tar
@echo "ARM-lunux application was packaged into tar archive "
tar-mac-arm64: clean configure-amd64 build-js build-go-mac-arm64 package-tar
@echo "MAC-arm64 application was packaged into tar archive "
tar-mac-amd64: clean configure-amd64 build-js build-go-mac-amd64 package-tar
@echo "MAC-amd64 application was packaged into tar archive "
deb-arm : clean configure-arm build-js build-go-arm package-deb-doc
mv package/debian.deb package/build/fimpui_$(version)_armhf.deb
deb-amd : configure-amd64 build-js build-go-amd64 package-deb-doc
mv package/debian.deb package/build/fimpui_$(version)_amd64.deb
docker-amd64 : build-go-amd64 package-docker-amd64
docker-arm64 : build-go-arm64 package-docker-arm64
docker-multi-setup : configure-amd64 build-js
docker buildx create --name mybuilder
docker buildx use mybuilder
docker-multi-publish : build-go-arm64 build-go-amd64 package-docker-multi
set-dev : configure-dev-js build-go
build-mac : build-js build-go
upload :
scp package/build/fimpui_$(version)_armhf.deb $(remote_host):~/
upload-install : upload
ssh -t $(remote_host) "sudo dpkg -i fimpui_$(version)_armhf.deb"
remote-install : deb-arm upload
ssh -t $(remote_host) "sudo dpkg -i fimpui_$(version)_armhf.deb"
install-mqtt-broker:
docker run -p 1883:1883 --name vernemq -d -e "DOCKER_VERNEMQ_ACCEPT_EULA=yes" -e "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on" erlio/docker-vernemq
start-mqtt-broker:
docker start vernemq
stop-mqtt-broker:
docker stop vernemq
start-dev-webserver:
cd static/fimpui;ng serve
publish-reprepo:
scp package/build/fimpui_$(version)_armhf.deb $(reprepo_host):~/apps
run :
go run main.go -c var/
docker-run :
docker run -p 8081:8081 --name tplexui thingsplex/tplexui:latest
.phony : clean