相关疑难解决方法(0)

如何通过globbing子目录自动生成make目标列表?

我想使用单个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只有一个文件是非常令人困惑的.

makefile gnu-make

11
推荐指数
1
解决办法
9870
查看次数

标签 统计

gnu-make ×1

makefile ×1