我有一个命令,可以接收多种类型的输入文件并生成相关的输出。 IT所做的事情类似于从图像生成缩略图。我想编写一次配方,并列出每个调用配方的隐式规则,例如:
%.png : %.jpg
%.png : %.jpeg
%.png : %.svg
%.png : %.gif
convert $< -resize 100x100 $@
这适用于.gif
,但对于其他文件类型,我得到“无规则可定位”。
有没有一种方法可以表达这套规则而不重复配方?
答案 0 :(得分:1)
您可以添加一个没有先决条件的规则:
%.png : %.jpg
%.png : %.jpeg
%.png : %.svg
%.png : %.gif
%.png :
convert $< -resize 100x100 $@
草稿是,如果您在没有任何先决条件的情况下尝试构建foo.png
,Make会巧妙地尝试在没有输入文件的情况下进行构建。您可以在配方中进行测试,以在这种情况下获得更优美的退出效果,但这不是很优雅。
答案 1 :(得分:1)
以下内容应接近您想要的内容:
{{1}}