# 编译器设置 CC = gcc CFLAGS = -Wall -O2 -I.. -I../tools LDFLAGS = # 源文件列表 - 移除 fftutil.c SOURCES = \ ../kiss_fft.c \ ../tools/kiss_fastfir.c \ ../tools/kiss_fftr.c \ ../tools/kfc.c \ ../tools/kiss_fftnd.c \ ../tools/kiss_fftndr.c OBJECTS = $(SOURCES:.c=.o) # 源文件与目标的映射 TARGET = base function # 自动生成目标对应的源文件依赖 base_SRC = $(SOURCES) base.c base_OBJ = $(base_SRC:.c=.o) function_SRC = $(SOURCES) function-test.c function_OBJ = $(function_SRC:.c=.o) # 默认目标 all: $(TARGET) # base 目标依赖 base.c base: $(base_OBJ) $(CC) $(base_OBJ) -o $@ $(LDFLAGS) # function 目标依赖 function.c function: $(function_OBJ) $(CC) $(function_OBJ) -o $@ $(LDFLAGS) # 链接目标文件生成可执行文件 # $(TARGET): $(OBJECTS) # $(CC) $(OBJECTS) -o $@ $(LDFLAGS) # 编译规则 %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ # 清理生成的文件 clean: rm -f $(OBJECTS) $(TARGET) .PHONY: all clean