C_DS_AIgo/Makefile
Jdhggg 8bb1193a79 kong
Co-Authored-By: JdhByte <111557398+Jdhggg@users.noreply.github.com>
2025-05-21 12:46:10 +08:00

48 lines
953 B
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 定义编译器
CC = gcc
# 定义源文件目录
SRC_DIR = .
# 定义头文件目录
INC_DIR = .
# 定义目标文件目录
OBJ_DIR = obj
# 定义可执行文件名称
TARGET = main
# 定义源文件后缀
SRC_EXT = .c
# 定义目标文件后缀
OBJ_EXT = .o
# 定义源文件列表
SRC_FILES = \
heap.c \
main.c
# 使用正则表达式替换源文件后缀为.o生成目标文件列表
OBJ_FILES = $(patsubst $(SRC_DIR)/%$(SRC_EXT), $(OBJ_DIR)/%$(OBJ_EXT), $(SRC_FILES))
# 定义编译选项
CFLAGS = -I$(INC_DIR) -Wall -Wextra -pedantic
# 默认目标,调用链接规则
all: $(TARGET)
# 链接规则,将所有目标文件链接成可执行文件
$(TARGET): $(OBJ_FILES)
$(CC) $(CFLAGS) $^ -o $@
# 编译规则,将源文件编译成目标文件
$(OBJ_DIR)/%$(OBJ_EXT): $(SRC_DIR)/%$(SRC_EXT)
@mkdir -p $(OBJ_DIR)
$(CC) $(CFLAGS) -c $< -o $@
# 清理目标文件和可执行文件
clean:
rm -rf $(OBJ_DIR) $(TARGET)