# ============================================================================
# MYCA C99 Cognitive & Deterministic Inference SDK
# Industrial Automation, Edge Sensors & Live Streaming Analytics
# Contact: enterprise@mycai.pro | https://mycai.pro
# ============================================================================

CC ?= clang
HOST_CFLAGS ?= -O3 -std=c99 -Wall -Wextra -Iinclude -DHOST_BENCH
FIRMWARE_CFLAGS ?= -O3 -std=c99 -Wall -Wextra -Iinclude

.PHONY: all test bench bench_telemetry bench_sports lib clean run

all: test bench bench_telemetry bench_sports lib

test:
	$(CC) $(HOST_CFLAGS) benchmark/test_s1_s17_security.c src/myc_core.c -o test_s1_s17
	./test_s1_s17

bench:
	$(CC) $(HOST_CFLAGS) benchmark/test_real_bench.c src/myc_core.c -o myca_bench

bench_telemetry:
	$(CC) $(HOST_CFLAGS) benchmark/test_telemetry_camera_bench.c src/myc_telemetry.c -o myca_bench_telemetry

bench_sports:
	$(CC) $(HOST_CFLAGS) benchmark/test_sports_realtime_bench.c src/myc_sports.c -o myca_bench_sports

lib:
	$(CC) $(FIRMWARE_CFLAGS) -c src/myc_core.c -o myca_core.o
	$(CC) $(FIRMWARE_CFLAGS) -c src/myc_telemetry.c -o myca_telemetry.o
	$(CC) $(FIRMWARE_CFLAGS) -c src/myc_sports.c -o myca_sports.o
	ar rcs libmyca_core.a myca_core.o myca_telemetry.o myca_sports.o

run: all
	@echo "\n========================================================"
	@echo "0. Zorunlu S1-S17 Güvenlik Testi (Saha Doğrulaması)"
	@echo "========================================================"
	./test_s1_s17
	@echo "\n========================================================"
	@echo "1. Komut/Intent Modbus PLC Benchmark"
	@echo "========================================================"
	./myca_bench
	@echo "\n========================================================"
	@echo "2. Isı Sensörü & Smart Camera Interlock Benchmark"
	@echo "========================================================"
	./myca_bench_telemetry
	@echo "\n========================================================"
	@echo "3. Canlı Futbol & Akış Analitiği Benchmark"
	@echo "========================================================"
	./myca_bench_sports

clean:
	rm -f myca_bench myca_bench_telemetry myca_bench_sports test_s1_s17 *.o libmyca_core.a
