BIN = run.exe SO = lib.dll SRC = \ ../User/lib/src/malloc.c \ ../User/lib/src/sqqueue.c \ ../User/lib/src/mlist.c \ ../User/lib/src/debug.c \ ../User/lib/src/data_analysis.c \ ../User/lib/src/filter.c \ ../User/lib/src/clist.c \ ../User/lib/src/aes.c \ ../User/lib/src/cmac.c \ ../User/lib/src/lib.c EXAMPLE = \ ./test_hart.c CPLUS_INCLUDE_PATH= -I ../User/lib/inc -I ../User/lib/uthash # 变量CC:给定编译器名gcc # 变量CFLAGS:传给编译器的某些编译参数,看需求添加 CC = gcc CFLAGS = -m32 -std=c99 # 变量GDB:给定debugger名gdb # 变量RM:给定删除文件方式,用于后面删除所有编译所得的.o文件,linux下使用rm -rf GDB = gdb RM = rm -rf # 变量OBJS:将变量SRC中所有的.c文件替换成以.o结尾,即将.c源文件编译成.o文件 OBJS = $(SRC:%.c=%.o) EXAPMLES = $(EXAMPLE:%.c=%.o) $(SO): $(OBJS) $(EXAPMLES) # pull in dependencies for .o files -include $(OBJS:.o=.d) %.o: %.c $(CC) $(CPLUS_INCLUDE_PATH) $(CFLAGS) -c $< -o $@ .PHONY: all clean clist data_analysis all: $(SO) rm: $(RM) $(OBJS) hart:$(SO) $(CC) $(CPLUS_INCLUDE_PATH) $(CFLAGS) $(OBJS) ./test_hart.o -o $(BIN) $(RM) $(OBJS) $(EXAPMLES) run #运行程序 run: ./run.exe clean: $(RM) $(OBJS) $(EXAPMLES) $(BIN)