build: Add target to install libraries on esp8266
This commit is contained in:
parent
53dee4d268
commit
5048b578ff
2 changed files with 34 additions and 3 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -3,3 +3,5 @@
|
|||
!main.py
|
||||
.ipynb_checkpoints
|
||||
__pycache__
|
||||
lib/
|
||||
requirements.txt
|
||||
|
|
|
|||
35
Makefile
35
Makefile
|
|
@ -19,6 +19,33 @@ src/%.mpy: src/%.py
|
|||
$(MPYCROSS) $$f; \
|
||||
done
|
||||
|
||||
requirements.txt: poetry.lock
|
||||
poetry export --without dev --output requirements.txt
|
||||
|
||||
lib/: requirements.txt
|
||||
$(VENV) python -m pip install -r requirements.txt --target lib/
|
||||
$(MAKE) compile_lib
|
||||
$(MAKE) install_lib
|
||||
|
||||
compile_lib:
|
||||
@for f in $(shell find lib/ -type f -regex ".+\.py"); do \
|
||||
echo Compile $$f; \
|
||||
$(MPYCROSS) $$f; \
|
||||
done
|
||||
|
||||
install_lib: lib_tree
|
||||
@for f in $(shell find lib/ -type f -regex ".+\.mpy"); do \
|
||||
echo Uploading $$f; \
|
||||
$(AMPY) put $$f $$f; \
|
||||
done
|
||||
|
||||
AWK_SCRIPT = { for (i = 1; i < NF; i++) { for (j = 1; j <= i; j++) { printf "/%s",$$j } printf "\n" } }
|
||||
lib_tree:
|
||||
@for d in $(shell find lib/ -regex ".+\.mpy" | awk -F/ '$(AWK_SCRIPT)'); do \
|
||||
echo Create $$d; \
|
||||
$(AMPY) mkdir --exists-okay $$d; \
|
||||
done
|
||||
|
||||
check: src/*.mpy
|
||||
$(VENV) python3 -m py_compile src/*.py
|
||||
|
||||
|
|
@ -28,9 +55,9 @@ erase_flash:
|
|||
flash_esp: erase_flash
|
||||
$(ESP_TOOL) --baud 460800 write_flash --flash_size=detect 0 $(MICRO_PYTHON_FIRMWARE)
|
||||
|
||||
install: check $(JUPYTER_PYTHON_FILES)
|
||||
install: check lib/ $(JUPYTER_PYTHON_FILES)
|
||||
$(AMPY) put src/main.py
|
||||
@for f in $(filter-out check,$?); do \
|
||||
@for f in $(filter-out check lib/,$?); do \
|
||||
echo Uploading $$f; \
|
||||
$(AMPY) put $$f; \
|
||||
done
|
||||
|
|
@ -57,9 +84,11 @@ clean:
|
|||
rm -f src/*.pyc
|
||||
rm -f src/*.mpy
|
||||
rm -f $(JUPYTER_PYTHON_FILES)
|
||||
rm -r lib/
|
||||
rm -f requirements.txt
|
||||
|
||||
env:
|
||||
poetry install
|
||||
$(VENV) python -m jupyter_micropython_kernel.install
|
||||
|
||||
.PHONY: check erase_flash flash_esp install uninstall clean env
|
||||
.PHONY: check erase_flash flash_esp install uninstall clean env compile_lib install_lib lib_tree
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue