$(DIR_BUILD)/%$(TYPE_OBJ) : %$(TYPE_SRC) $(HDRS)
时间: 2023-09-18 09:12:48 浏览: 66
这是一个Makefile文件中的一条规则,用来生成目标文件。当源代码文件(以TYPE_SRC为后缀)和头文件(在HDRS中列出)中的任何一个被修改时,就会执行该规则。规则的意思是:将源代码文件编译成目标文件,并存放在DIR_BUILD目录下。其中,“%”表示通配符,将匹配所有的源代码文件名。$(TYPE_OBJ)表示目标文件的后缀,可以在Makefile文件开头定义。
相关问题
SUBMODS := $(filter $(obj)/%,$(SUBMODS))
这段代码是一个 Makefile 中的语句,用于过滤出符合条件的子模块。具体来说,`$(obj)/%` 是一个通配符,表示 obj 目录下的任意子目录或文件,而 `$(filter $(obj)/%,$(SUBMODS))` 则是使用了 filter 函数,用于过滤出 SUBMODS 中符合通配符条件的子模块。最终的结果将保存在 SUBMODS 中。
all:$(SUBDIRS) $(CUR_OBJS) DEBUG $(SUBDIRS):ECHO make -C $@ DEBUG:ECHO $(AR) crv libbsp.a $(ROOT_DIR)/$(OBJS_DIR)/*.o cp $(ROOT_DIR)/libbsp.a $(ROOT_DIR)/$(BIN_DIR)/ cp $(ROOT_DIR)/libbsp.a ../workspace/obj/ ECHO: @echo $(SUBDIRS)
这是一个 Makefile 文件的规则,该规则定义了一个名为 all 的目标,该目标依赖于变量 SUBDIRS、CUR_OBJS 和 DEBUG,同时定义了三个动作。
第一个动作是 `$(SUBDIRS)`,该动作会依次进入 SUBDIRS 中指定的每个目录,并在该目录下执行 make 命令。
第二个动作是 `$(CUR_OBJS)`,该动作未被定义,因此无法确定其意义。
第三个动作是 DEBUG,该动作依赖于一个命令 `$(AR) crv libbsp.a $(ROOT_DIR)/$(OBJS_DIR)/*.o`,该命令会将 $(ROOT_DIR)/$(OBJS_DIR) 目录下的所有 .o 文件打包成一个名为 libbsp.a 的静态库文件。接着执行 `cp $(ROOT_DIR)/libbsp.a $(ROOT_DIR)/$(BIN_DIR)/` 命令,将 libbsp.a 静态库文件拷贝到 $(ROOT_DIR)/$(BIN_DIR)/ 目录下,最后执行 `cp $(ROOT_DIR)/libbsp.a ../workspace/obj/` 命令,将 libbsp.a 静态库文件拷贝到 ../workspace/obj/ 目录下。
ECHO 是一个伪目标,这个规则的作用是输出一个字符串 $(SUBDIRS)。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)