dtl/makefile
2025-06-01 21:17:47 +08:00

33 lines
749 B
Makefile

# 编译器与工具配置
CC := gcc
AR := ar
CFLAGS := -Wall -O2 -fPIC -MMD # 启用优化、位置无关代码和依赖生成
ARFLAGS := rcs # 静态库打包选项
# 文件与目标
SRC := $(wildcard *.c) # 所有源文件
OBJS := $(patsubst %.c,%.o,$(SRC)) # 目标文件
DEPS := $(OBJS:.o=.d) # 依赖文件
TARGET := libdtl.a # 最终库文件
# 默认目标
all: $(TARGET)
# 生成静态库
$(TARGET): $(OBJS)
$(AR) $(ARFLAGS) $@ $^
# 编译目标文件(支持多线程)
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
# 包含自动生成的依赖文件
-include $(DEPS)
# 清理
clean:
rm -f $(OBJS) $(DEPS) $(TARGET)
# 声明伪目标
.PHONY: all clean