commeownder/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