# ============================================================ # quic_ecs_dt — top-level Makefile # Targets: # make render — build the paper PDF # make preview — live-reload preview in browser # make build — cargo build --release (native) # make build-cm5 — cargo build --release (aarch64 cross) # make clean — remove generated outputs # ============================================================ .PHONY: render preview build build-cm5 clean VENV := $(HOME)/.venv/quic_ecs PYTHON := $(VENV)/bin/python CM5_HOST ?= 192.168.1.x CM5_USER ?= pi CM5_BIN_DIR ?= /home/pi/quic_ecs_dt # Paper render: cd paper && quarto render index.qmd preview: cd paper && quarto preview index.qmd --port 4848 --no-browser # Rust build build: cargo build --release build-cm5: CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \ cargo build --release --target aarch64-unknown-linux-gnu # Deploy binary to CM5 deploy-cm5: build-cm5 ssh $(CM5_USER)@$(CM5_HOST) "mkdir -p $(CM5_BIN_DIR)" scp target/aarch64-unknown-linux-gnu/release/quic_ecs_dt \ $(CM5_USER)@$(CM5_HOST):$(CM5_BIN_DIR)/ # Clean clean: cargo clean rm -rf paper/_output paper/.quarto paper/index.tex \ paper/figures/*.pdf paper/figures/*.png \ data/loopback/*.csv data/two_machine/*.csv