-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
125 lines (106 loc) · 3.34 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
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
REMOTE=recore.local
install_bins:
cp bin/dev/* /usr/local/bin
chmod +x /usr/local/bin/backup-emmc
chmod +x /usr/local/bin/set-ssh-enabled
chmod +x /usr/local/bin/flash-recore
chmod +x /usr/local/bin/reboot-board
chmod +x /usr/local/bin/shutdown-board
chmod +x /usr/local/bin/set-boot-media
chmod +x /usr/local/bin/get-boot-media
chmod +x /usr/local/bin/get-emmc-version
chmod +x /usr/local/bin/get-recore-serial-number
chmod +x /usr/local/bin/rotate-screen
chmod +x /usr/local/bin/create-recore-config
chmod +x /usr/local/bin/is-usb-present
chmod +x /usr/local/bin/is-ssh-enabled
chmod +x /usr/local/bin/get-free-space
chmod +x /usr/local/bin/mount-unmount-usb
chmod +x /usr/local/bin/get-reflash-version
chmod +x /usr/local/bin/save-settings
chmod +x /usr/local/bin/flash-cleanup
chmod +x /usr/local/bin/flash-mkfifo
upload_bins:
scp bin/prod/* [email protected]:/usr/local/bin
dev-clean:
rm -rf .tmp
mkdir -p .tmp/opt/reflash/images
mkdir -p .tmp/dev/
mkdir -p .tmp/etc/
dd if=/dev/random of=.tmp/dev/mmcblk0 count=1000 bs=1M
echo "0.1.2" > .tmp/etc/reflash_version
touch /opt/reflash/xorg
touch /opt/reflash/fbcon
touch /opt/reflash/
dev-client:
cd client; npm run serve
build:
cd client; npm run build
upload:
scp -r client/dist [email protected]:/var/www/html/reflash
build-go:
cd reflash; GOOS=linux GOARCH=arm64 go build -o reflash main.go server.go screen.go
run-go:
git describe --always --tags > /etc/reflash-version
cd reflash; APP_ENV=dev go run main.go server.go screen.go
upload-go:
scp reflash/reflash root@${REMOTE}:/usr/local/bin
tar:
cd zip; tar -zcvf reflash.tar.gz reflash/
mv zip/reflash.tar.gz .
rm -rf zip
package:
rm -rf zip
mkdir -p zip/reflash/bin
mkdir -p zip/reflash/reflash
cp reflash/*.py zip/reflash/reflash
mkdir -p zip/reflash/server
cp -r server/*.py zip/reflash/server
cp -r client/dist zip/reflash/server
cp bin/prod/* zip/reflash/bin
cp -r systemd zip/reflash
cp -r scripts zip/reflash
cp -r curses zip/reflash
echo "Unknown version" > zip/reflash/reflash.version
tar-board:
cd zip; tar -zcvf reflash.tar.gz reflash/
mv zip/reflash.tar.gz ./reflash-board.tar.gz
rm -rf zip
package-board:
rm -rf zip
mkdir -p zip/reflash/bin
mkdir -p zip/reflash/reflash
cp reflash/*.py zip/reflash/reflash
mkdir -p zip/reflash/server
cp -r server/*.py zip/reflash/server
cp -r board/dist zip/reflash/server
cp bin/prod/* zip/reflash/bin
cp -r systemd zip/reflash
mkdir zip/reflash/scripts
cp scripts/install_reflash_board.sh zip/reflash/scripts
echo "v0.2.0" > zip/reflash/reflash.version
upload-tar:
scp reflash.tar.gz [email protected]:/usr/src/
upload-tar-board:
scp reflash-board.tar.gz [email protected]:/home/debian
tests:
python3 -m pytest tests
image:
make build
make build-go
sudo ./mkimage.sh
docker:
mkdir -p output
git describe --always --tags > docker-reflash/reflash-version
cp mkimage.sh docker-reflash
mkdir -p docker-reflash/bin
cp bin/prod/* docker-reflash/bin
cp -r client docker-reflash/
cp -r rootfs_files docker-reflash/
mkdir -p docker-reflash/reflash
cp reflash/reflash docker-reflash/reflash
cp reflash/Roboto-Light.ttf docker-reflash/reflash
docker container prune -f
cd docker-reflash; docker build -t docker-reflash .
cd docker-reflash; docker container run -v /dev/:/dev -v $(PWD)/output:/output --privileged=true --name reflash docker-reflash
.PHONY: tests