CC = gcc
CFLAGS = -Wall -Wextra -std=c99 -I.
TARGET = embedded_sample

SRCS = main.c \
       app/app_main.c \
       app/cmd_handler.c \
       middle/comm_manager.c \
       middle/led_controller.c \
       driver/uart_drv.c \
       driver/gpio_drv.c \
       driver/timer_drv.c \
       lib/ringbuffer.c \
       lib/crc.c

OBJS = $(SRCS:.c=.o)

all: $(TARGET)

$(TARGET): $(OBJS)
	$(CC) $(CFLAGS) -o $@ $^

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

clean:
	rm -f $(OBJS) $(TARGET)

.PHONY: all clean
