CC = gcc AR = ar CFLAGS = -g -Wall -I../.. # 自动收集所有子模块源文件 EXCLUDE = test*.c SRCS = $(filter-out $(EXCLUDE), $(wildcard *.c)) OBJS = $(SRCS:.c=.o) libasm.a: $(OBJS) $(AR) rcs $@ $^ %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< clean: rm -f libasm.a $(OBJS)