-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
81 lines (61 loc) · 1.9 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
SHELL := /bin/bash
DOCKER_NAME := libero-ubuntu-toolchain
DOCKER_TAG := libero-ubuntu-tag
DOCKER_REPO := libero-ubuntu-repo
IS_DOCKER_BUILT := $(shell docker images | tail -n +2 | awk '{print $2}' | grep ${DOCKER_TAG})
PWD := $(shell pwd)
DISPLAY := ${DISPLAY}
XAUTH := ${HOME}/.Xauthority
.PHONY: vhs vhs-setup view \
screen \
debug \
demo \
venv freeze \
uninstall install clean \
run
all: install
vhs-setup:
@[ -n "$(shell pacman -Qs vhs)" ] || sudo pacman -S vhs
@[ -f .github/assets/demo.tape ] || (vhs new demo.tape; printf "Be sure to edit the demo.tape for your vhs use-case!\n")
vhs: vhs-setup
vhs < .github/assets/demo.tape
view:
@[ -f ./.github/assets/demo.gif ] && (mpv ./.github/assets/demo.gif)
screen:
@screen /dev/ttyUSB0 57600
debug:
@stty -F /dev/ttyUSB0 57600
@python3 main.py --mode debug
demo:
@python3 main.py
venv:
python3 -m venv .venv
pip3 install -r module/requirements.txt
freeze:
pip3 freeze > module/requirements.txt
clean:
@docker rmi $(shell docker images --filter dangling=true | tail -n +2 | awk '{print $$3}')
install-pre:
@docker build ./docker -t ${DOCKER_REPO}:${DOCKER_TAG}
install-success:
@printf "Docker has already been built!\n"
@printf "Run 'make uninstall' to remove built docker.\n"
install: $(if ${IS_DOCKER_BUILT}, install-success, install-pre)
uninstall-pre:
@docker rmi $(shell docker images | grep ${DOCKER_TAG} | awk '{print $$3}')
@docker system prune
uninstall-success:
uninstall: $(if ${IS_DOCKER_BUILT}, uninstall-pre, uninstall-success)
run:
@[ -f ${XAUTH} ] || touch ${XAUTH}
@docker run --name ${DOCKER_NAME} \
-it ${DOCKER_REPO}:${DOCKER_TAG} \
--network=host \
-e DISPLAY=${DISPLAY} \
-v ${PWD}:/home/docker/repo \
-v ${XAUTH}:/root/.Xauthority \
-v /etc/localtime:/etc/localtime \
--privileged \
-v /dev/bus/usb:/dev/bus/usb:rw \
--detach-keys="ctrl-@" \
--rm true