我有一个 makefile,它根据某些属性设置 vpath 并将源文件列表生成到一个变量中。我需要在不编译任何东西的情况下运行makefile(编译实际上由不同的makefile处理),并且只需根据vpath设置查看文件名与哪些真实文件匹配。
问问题
1225 次
1 回答
6
选项 1:让 make 进行路径搜索:
.PHONY: whichfiles
whichfiles: $(LIST_OF_SOURCE_FILES)
@echo $+
选项 2:使用 $(wildcard) 模拟路径搜索:
.PHONY: whichfiles
whichfiles:
@echo $(foreach f,$(LIST_OF_SOURCE_FILES),$(firstword $(wildcard $(VPATH:%=%/$f)) not-found:$f))
无论哪种方式,“make whichfiles”都会打印匹配文件的列表。
如果某些文件无法找到,选项 1 将失败,并报告“没有创建规则”报告找不到的第一个文件。选项 2 将为每个丢失的文件打印“未找到:”。
于 2010-04-17T16:56:56.247 回答