31 lines
647 B
Makefile
31 lines
647 B
Makefile
# 定义编译器
|
|
CC = gcc
|
|
INCLUDE_PATH = ./
|
|
|
|
# 用户可以指定输出文件夹
|
|
OUTPUT_DIR = ./build
|
|
|
|
# 查找所有的 .c 文件和对应的 .h 文件
|
|
SOURCES = $(wildcard $(INCLUDE_PATH)/*.c)
|
|
HEADERS = $(wildcard $(INCLUDE_PATH)/*.h)
|
|
OBJECTS = $(patsubst %.c,$(OUTPUT_DIR)/%.o,$(SOURCES))
|
|
|
|
# 定义最终可执行文件的路径
|
|
TARGET = $(OUTPUT_DIR)/program
|
|
|
|
# 默认目标
|
|
all: $(TARGET)
|
|
|
|
|
|
# 定义每个目标文件的依赖关系
|
|
$(OUTPUT_DIR)/%.o: %.c $(HEADERS)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
# 生成可执行文件
|
|
$(TARGET): $(OBJECTS)
|
|
$(CC) -o $(TARGET) $(OBJECTS)
|
|
|
|
# 清理生成的文件
|
|
clean:
|
|
rm -rf $(OUTPUT_DIR)/* $(TARGET)
|