33 lines
749 B
Makefile
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
|