63 lines
1.3 KiB
Makefile
63 lines
1.3 KiB
Makefile
SHELL := /bin/bash
|
|
.ONESHELL:
|
|
|
|
ESP_ENV := . ~/scripts/esp_env.sh
|
|
SIM_BUILD := simulator/build
|
|
PORT ?= /dev/ttyUSB0
|
|
|
|
# All firmware targets build with DEBUG=1 so serial commands and DBG lines
|
|
# are always available for testing and monitoring.
|
|
IDF := $(ESP_ENV) && idf.py -DDEBUG=1
|
|
|
|
.PHONY: all firmware sim test flash monitor flash-monitor clean firmware-clean sim-clean case case_live case_clean
|
|
|
|
all: firmware sim
|
|
|
|
firmware:
|
|
$(IDF) build
|
|
|
|
flash:
|
|
$(IDF) flash
|
|
|
|
monitor:
|
|
$(IDF) monitor
|
|
|
|
flash-monitor:
|
|
$(IDF) flash monitor
|
|
|
|
sim:
|
|
cmake --build $(SIM_BUILD) --parallel
|
|
|
|
test: sim flash
|
|
sleep 5
|
|
$(SIM_BUILD)/test_ble --port $(PORT)
|
|
|
|
clean: firmware-clean sim-clean case_clean
|
|
|
|
firmware-clean:
|
|
$(IDF) fullclean
|
|
|
|
sim-clean:
|
|
cmake --build $(SIM_BUILD) --target clean
|
|
|
|
# --- case (build123d) ---
|
|
CASE_VENV := case/venv
|
|
CASE_PYTHON := $(CASE_VENV)/bin/python
|
|
CASE_PIP := $(CASE_VENV)/bin/pip
|
|
CASE_FW := $(CASE_VENV)/bin/fw123d
|
|
|
|
$(CASE_VENV)/.installed: case/requirements.txt
|
|
python3.13 -m venv $(CASE_VENV)
|
|
$(CASE_PIP) install --upgrade pip
|
|
$(CASE_PIP) install -r case/requirements.txt
|
|
touch $@
|
|
|
|
case: $(CASE_VENV)/.installed
|
|
$(CASE_PYTHON) case/case.py
|
|
|
|
case_live: $(CASE_VENV)/.installed
|
|
$(CASE_FW) case/case.py
|
|
|
|
case_clean:
|
|
rm -rf $(CASE_VENV) case/output/*.stl
|