在我的makefile上工作时,我需要编写执行的规则:
$(GRIT) $(GRITFLAGS) INPUTFILE -ff $(addsuffix .grit,$(basename INPUTFILE)) -o grit.c
而INPUTFILE是xxx.png文件的列表。在同一目录中,始终存在需要通过-ff选项传递的xxx.grit文件。但是,所有.png和.grit文件对都提供了相同的输出文件grit.c(grit使用文件追加)。 我试图使用模式规则,但是当我想要像grit.c:%.png%.grit这样的规则时,似乎不允许对不包含模式之类的目标使用模式。 / p>
知道如何解决我的问题吗?
编辑: 主要问题是,我无法将输入文件的lits(如上例所示)传递给GRIT。这只是为了表明我的问题。我需要为每个.png / .grit文件组合调用GRIT
答案 0 :(得分:2)
grit.c: $(images)
for png in $?; do \
$(GRIT) $(GRITFLAGS) $$png -ff $${png%.png}.grit -o $@; \
done