OBJS = $(SRCS:%.c=$(BUILD_DIR)/%.o) $(ASMS:%.S=$(BUILD_DIR)/%.o) 什么意思?
时间: 2024-04-26 14:24:20 浏览: 195
万能makefile写法详解,一步一步写一个实用的makefile,详解 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \-附件资源
这是一个Makefile文件中的语句,其中:
- OBJS 是一个变量,用于存储编译生成的目标文件名;
- SRCS 是一个变量,用于存储源文件名(以.c结尾);
- ASMS 是一个变量,用于存储汇编文件名(以.S结尾);
- $(SRCS:%.c=$(BUILD_DIR)/%.o) 表示将SRCS中的每个.c文件名替换成$(BUILD_DIR)/%.o,其中$(BUILD_DIR)是一个变量,代表编译生成的目标文件存放路径;
- $(ASMS:%.S=$(BUILD_DIR)/%.o) 表示将ASMS中的每个.S文件名替换成$(BUILD_DIR)/%.o;
- 最终,OBJS变量的值就是将所有.c文件和.S文件编译生成的目标文件名。
阅读全文