# 编译器
CC = gcc
# 编译选项-Ilib
CFLAGS = -Wall -g  -Iinclude -Isystem/gpio -Isystem/sensor -Iusr  -Idevice_judg/judg \
			 -Idevice_judg/device 
# 链接库
LDFLAGS = -lwiringPi -lmosquitto -lcjson -lm
# 目标可执行文件
TARGET = main
# 源文件目录
SRC_DIR = usr src system/gpio system/sensor device_judg/judg device_judg/device \
# 头文件目录
INC_DIR = usr include system/gpio system/sensor device_judg/judg device_judg/device \
# 查找所有 .c 文件
SRCS = $(foreach dir,$(SRC_DIR),$(wildcard $(dir)/*.c))
# 目标文件
OBJS = $(SRCS:.c=.o)

# 默认目标
all: $(TARGET)

# 链接目标文件生成可执行文件
#$(TARGET): $(OBJS)
#	$(CC) $(CFLAGS) -o $(TARGET) $(OBJS) $(LDFLAGS)

# 直接从 .c 文件生成可执行文件
$(TARGET): $(SRCS)
	$(CC) $(CFLAGS) -o $(TARGET) $(SRCS) $(LDFLAGS)

# 编译每个 .c 文件为 .o 文件
%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

# 清理生成的文件
clean:
	rm -f $(OBJS) $(TARGET)



