Makefile:防止无限模式递归

Ryo*_*Ryo 4 makefile gnu-make

我以为这很简单

%.png: ../figs/%.png
        convert $? -resize '40%' $@
Run Code Online (Sandbox Code Playgroud)

也就是说,我想从 "../figs/" 中的相应图像生成此目录中的图像。

但是,上述导致了无限的依赖链,因为../figs/foo.png匹配%.png并因此 make 尝试检查../figs/../figs/foo.png,匹配%.png并因此 make 尝试检查。. . 最终,以“文件名太长”停止。

我肯定错过了什么。什么是干净的解决方案?

use*_*267 5

用空规则杀死链

%.png: ../figs/%.png
    convert $? -resize '40%' $@

../figs/%.png: ;
Run Code Online (Sandbox Code Playgroud)