我想使用单个Makefile在数百个子目录中生成目标.每个子目录都是一个日期/时间戳,如下所示:20120119_153957匹配以下模式????????_??????.没有其他子目录与此模式匹配.
我想要生成一个目标????????_??????/graph.pdf.我有一个调用的脚本make_graph,它将使图形被赋予子目录名称.但我不确定如何编写一个Makefile,它将自动为所有子目录添加并以编程方式生成这些目标.
例如,代码SUBDIRS:=????????_??????似乎正确地遍历所有子目录.我可以查看这个规则:
.PHONY: print
print:
echo $(SUBDIRS)
Run Code Online (Sandbox Code Playgroud)
但是这个变量赋值
TARGETS:=$(SUBDIRS:%=%/graph.pdf)
Run Code Online (Sandbox Code Playgroud)
似乎没有做我期望的事情并分配了很多很多目标.相反,以下规则只打印一个目标.
.PHONY: print
print:
echo $(TARGETS)
Run Code Online (Sandbox Code Playgroud)
SUBDIRS应该拥有正确的子目录但TARGET只有一个文件是非常令人困惑的.