我有一个变量,在不同的目录中有一个先决条件列表,每个目录都由一个相对路径指定。例如:
HTML_FILES := ../foo1/bar1.html ../foo1/bar2.html ../foo2/bar3.html foo3/bar4.html(请注意,这个变量实际上是生成的,所以事先不知道文件夹的完整列表。)
对于其中的每一个,我希望在当前目录中生成一个目标文件,例如bar1.xml, bar2.xml, bar3.xml, bar4.xml。
我怎样才能写出与之匹配的规则呢?这是我最接近的结果了。这看起来像是什么神奇的东西取代了?也许能行得通。
build: $(XML_FILES)
$(XML_FILES): %.xml : ??????/%.html
perl $(HTML_TO_XML) $<发布于 2012-01-04 03:15:25
使用vpath。
vpath %.html $(dir $(HTML_FILES))现在可以使用简单模式规则,如下所示:
$(XML_FILES): %.xml : %.html
perl $(HTML_TO_XML) $<这应该足以让事情正常工作,但我不确定如果在不同的目录中有一些同名的文件,比如../foo1/bar.html和../foo2/bar.html,它会有什么行为。
https://stackoverflow.com/questions/8709684
复制相似问题