OBJS := $(addsuffix /source/$(OBJDIR)/*.o,$(DIRS))
时间: 2023-06-14 16:08:25 浏览: 58
这段代码是一个 Makefile 中的语句,用于将指定目录下的所有 .o 文件添加到 OBJS 变量中。其中:
- addsuffix 是 Makefile 中的函数,用于在每个目录后面添加 /source/$(OBJDIR)/*.o,实际上就是将每个目录映射到对应的 .o 文件路径。
- DIRS 是一个指定目录名的变量,可以包含多个目录,用空格分隔。
- OBJDIR 是一个变量,指定了生成的 .o 文件所在的目录。
- *.o 是通配符,表示任意以 .o 结尾的文件。
- 最终,OBJS 变量会包含所有符合条件的 .o 文件路径。
相关问题
OBJS := $(addprefix $(BUILD)/, $(SRCS:.c=.o))
这是一个 Makefile 中的一行代码,它定义了一个变量 OBJS,其中包含了 $(BUILD) 目录下所有 .c 文件编译后生成的 .o 文件。
具体来说,$(SRCS:.c=.o) 表示将 $(SRCS) 变量中所有以 .c 结尾的文件名替换为以 .o 结尾的文件名。然后,addprefix 函数将 $(BUILD)/ 作为前缀添加到每个 .o 文件名前面,最终形成了一个完整的文件路径列表。
例如,若 SRCS 变量包含了 main.c 和 utils.c,BUILD 变量为 build,则 OBJS 变量将会被赋值为 build/main.o build/utils.o。
SRCS := $(wildcard *.c) OBJS := $(patsubst %.c, %.o, $(SRCS))
这是一个 Makefile 文件的两行代码,其中:
- `SRCS := $(wildcard *.c)` 表示将当前目录中所有的 .c 文件名列表赋值给 SRCS 变量。
- `OBJS := $(patsubst %.c, %.o, $(SRCS))` 表示将 SRCS 变量中的 .c 文件名列表分别替换成 .o 文件名列表,并赋值给 OBJS 变量。其中,`$(patsubst %.c, %.o, $(SRCS))` 表示将 SRCS 变量中的每个 .c 文件名都替换成对应的 .o 文件名。`$(patsubst pattern,replacement,text)` 是 Makefile 中的一个函数,表示将 text 中的所有 pattern 替换成 replacement。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![tar](https://img-home.csdnimg.cn/images/20210720083646.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)