/
Makefile
93 lines (69 loc) · 2.2 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
VERSION=0.2.12
RELEASE=cct-release-$(VERSION)
ZIPFILE=$(RELEASE).zip
REPODIR=$(HOME)/repos/cct
TESTDIR=$(REPODIR)/tests
# docs
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = cct
DOCSSOURCEDIR = docs/source
DOCSBUILDDIR = docs/build
# esp32
FIRMWARE = esp32-idf3-20210206-unstable-v1.14-9-g9dedcf122.bin
.PHONY: gh-pages package clean help Makefile write_flash erase_flash
repl:
rshell -p /dev/ttyUSB0 repl
sync_files:
rshell -p /dev/ttyUSB0 rsync ${RELEASE}/board /pyboard
write_flash:
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 firmware/$(FIRMWARE)
erase_flash:
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
prebuild:
rm -rf $(RELEASE)
find cct -type d -name "__pycache__" -exec rm -r {} +
mkdir -p $(RELEASE)
mkdir -p $(RELEASE)/firmware
mkdir -p $(RELEASE)/board
cp README.md $(RELEASE)
cp -r cct tempcct
rm tempcct/google/rsa/LICENSE
mv tempcct ${RELEASE}/board/cct
cp -r tools $(RELEASE)/
cp -r .vscode $(RELEASE)/
cp .pylintrc $(RELEASE)/.pylintrc
cp -r stubs $(RELEASE)/
cp firmware/$(FIRMWARE) $(RELEASE)/firmware/esp32.bin
build:
make prebuild
find board/ -type f -not -name "*key*" -exec cp {} $(RELEASE)/board \;
buildwithkey:
make prebuild
cp -r board/ $(RELEASE)/
package:
make build
@zip -r $(ZIPFILE) $(RELEASE) 1> /dev/null
clean:
rm -f $(ZIPFILE)
rm -rf $(RELEASE)
gh-pages:
make html
rm -rf /tmp/gh-pages
cp -r $(DOCSBUILDDIR) /tmp/gh-pages
git checkout gh-pages
rm -rf * && cp -rT /tmp/gh-pages ./ && rm -rf /tmp/gh-pages && git add . && git commit -m "Updated gh-pages" && git push && git checkout master
# Put it first so that "make" without argument is like "make help".
docshelp:
@$(SPHINXBUILD) -M help "$(DOCSSOURCEDIR)" "$(DOCSBUILDDIR)" $(SPHINXOPTS) $(O)
autodoc:
cd $(DOCSSOURCEDIR)
sphinx-apidoc -f -o $(DOCSSOURCEDIR) ../cct
html:
@COVIDCONNECTION_VERSION=$(VERSION) $(SPHINXBUILD) -b html "$(DOCSSOURCEDIR)" "$(DOCSBUILDDIR)" $(SPHINXOPTS)
watchdocs:
echo "Watching library and docs dirs to rebuild docs..."
watchmedo shell-command docs/source cct -w -W --pattern="*.py;*.rst" --recursive --command "echo \"rebuilding...\" && make html"
test:
cd tests
micropython $(TESTDIR)/integration_test.py