From bf0d77d7d448e964e9716d5af67c48f3d014f090 Mon Sep 17 00:00:00 2001 From: Filip Wandzio Date: Sun, 1 Mar 2026 01:03:39 +0100 Subject: Scaffold basic project tree, implement benchmarking logic Implement unit testing guardian --- Makefile | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4d0bb31 --- /dev/null +++ b/Makefile @@ -0,0 +1,48 @@ +# ================= COMPILER SETTINGS ================= +CC ?= gcc +CFLAGS ?= -Wall -Wextra -Werror -std=c18 -Iinclude -Ibenchmark +LDFLAGS ?= + +SRC_DIR := src +TEST_DIR := tests +BENCH_DIR := benchmark +BUILD_DIR := build + +SRC := $(SRC_DIR)/syntax_essentials.c benchmark/benchmark.c benchmark/resource_usage.c +TESTS := $(wildcard $(TEST_DIR)/*.c) + +OUT_HOST := $(BUILD_DIR)/syntax_essentials_tests_host + +# ================= TARGETS ================= +all: host + +$(BUILD_DIR): + mkdir -p $(BUILD_DIR) + +# ---------------- HOST BUILD (static) ---------------- +host: $(BUILD_DIR) $(SRC) $(TESTS) + $(CC) $(CFLAGS) -static $(SRC) $(TESTS) -o $(OUT_HOST) $(LDFLAGS) + @echo "[INFO] Host binary built: $(OUT_HOST)" + +# ---------------- ESP32 SIM ---------------- +esp32_sim: host + @echo "[INFO] Running ESP32-S3 simulation in minimal Docker..." + docker build -t esp32-s3-sim . + docker run --rm --memory=6m --cpus=0.2 esp32-s3-sim + +# ---------------- CLEAN ---------------- +clean: + rm -rf $(BUILD_DIR) + +# ---------------- INFO ---------------- +info: + @echo "Host compiler: $(CC)" + @echo "Binary: $(OUT_HOST)" + +# ---------------- HELP ---------------- +help: + @echo "Available targets:" + @echo " all / host - Build host binary (statically linked)" + @echo " esp32_sim - Build host binary + run ESP32-S3 Docker simulation" + @echo " clean - Remove build artifacts" + @echo " info - Show compiler and binary info" -- cgit v1.2.3