EXPORT_FILE := $(wildcard $(EXPORT_FILE)) 这个wildcard什么意思
时间: 2024-04-04 14:30:58 浏览: 52
`wildcard` 是一个 GNU Make 中的函数,其作用是在 Makefile 中进行文件名模式匹配。它可以匹配当前目录下的文件名,也可以匹配通配符所表示的路径下的文件名。在这个例子中,`wildcard` 函数被用来查找当前目录下符合 `$(EXPORT_FILE)` 模式的文件,返回符合条件的文件名列表。如果没有找到任何文件,`wildcard` 函数返回一个空字符串。
相关问题
EXPORT_FILE := $(wildcard $(EXPORT_FILE)) makefile
这是一个 Makefile 中的语句,它的作用是将 EXPORT_FILE 中符合通配符条件的文件名赋值给 EXPORT_FILE 变量。其中 $(wildcard $(EXPORT_FILE)) 表示找到 EXPORT_FILE 变量中所有符合通配符条件的文件名。这个语句一般用于在 Makefile 中动态获取文件名列表,以便进行后续的操作。
STLIB_EXT = .a TARGET = libpandora.core$(strip $(STLIB_EXT)) makefile 判段 TARGET 的后缀是否为.a,然后再进行如下赋值操作 EXPORT_FILE := $(foreach _DIR, $(LIB_DIRS) $(INCL_DIRS), $(_DIR)/make.export.config $(_DIR)/libpandora.make.export.config) EXPORT_FILE := $(wildcard $(EXPORT_FILE))
在这段 Makefile 中,首先定义了变量 STLIB_EXT 的值为 .a,变量 TARGET 的值为 libpandora.core$(strip $(STLIB_EXT)),其中 $(strip $(STLIB_EXT)) 的作用是去除 STLIB_EXT 末尾可能存在的空格。
然后,使用了 foreach 函数和 wildcard 函数对变量 EXPORT_FILE 进行了赋值。其中,变量 LIB_DIRS 和 INCL_DIRS 分别表示库文件和头文件的目录列表。
具体来说,foreach 函数的作用是将 LIB_DIRS 和 INCL_DIRS 中的每个目录路径与 make.export.config 和 libpandora.make.export.config 文件名拼接起来,生成一个包含所有可能的配置文件路径的列表。这个列表被赋值给变量 EXPORT_FILE。
然后,使用 wildcard 函数对 EXPORT_FILE 中的所有文件路径进行通配符扩展,得到所有实际存在的配置文件路径,并将这些路径重新赋值给 EXPORT_FILE 变量。通配符扩展是指将路径中的通配符(如 * 或 ?)匹配到相应的文件名或目录名,得到所有匹配的文件或目录的路径。
这段 Makefile 的目的是为了生成一个包含所有可能的配置文件路径的列表,并获取其中实际存在的配置文件路径,以便后续使用这些配置文件。
阅读全文