# ESP-IDF Makefile für V2X-Sniffer

# ESP-IDF Pfad
ESP_IDF_PATH ?= /opt/esp/idf

# Compiler
CROSS_COMPILE ?= xtensa-esp32s3-elf-
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar

# Ziel
TARGET = v2x_sniffer.elf
OUTPUT = v2x_sniffer.bin

# Include-Verzeichnisse
INCLUDES = -Imain -Icomponents -Iv2x_driver

# Compiler-Flags
CFLAGS = -Os -Wall $(INCLUDES) -DIDF_TARGET=ESP32C5

# Quellen
SOURCES = main/v2x_sniffer_main.c main/v2x_db.c components/v2x_driver.c

# Zielobjekte
OBJECTS = $(SOURCES:.c=.o)

# Build-Ziel
all: $(OUTPUT)

$(OUTPUT): $(OBJECTS)
	$(CC) $(CFLAGS) -o $@ $^
	$(CROSS_COMPILE)size $@

%.o: %.c
	$(CC) $(CFLAGS) -c -o $@ $<

clean:
	rm -f $(OBJECTS) $(OUTPUT)

flash: $(OUTPUT)
	esptool.py --chip esp32c5 write_flash 0x0 $(OUTPUT)

.PHONY: all clean flash
