makefile文件

现有工程文件中main.c是主文件,led.c,lcd.c,dht.c,spi.c是模块函数,对应头文件是led.h,lcd.h,dht.h,spi.h。写出对应的工程makefile文件


CC = gcc
CFLAGS = -Wall -Wextra -Werror
LDLIBS = 

# 源文件和目标文件列表
SRCS = main.c led.c lcd.c dht.c spi.c
OBJS = $(SRCS:.c=.o)

# 头文件列表
INCLUDES = -I./

# 目标文件
TARGET = my_project

all: $(TARGET)

$(TARGET): $(OBJS)
    $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $(TARGET)

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

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


CC根据实际情况替换为其它编译器
头文件默认放在同一目录,如果不在同一目录,修改INCLUDES = -I./行
如果使用了其它库,添加在LDLIBS = 后面

我认为,你自己会😃