这是我的makefile的一部分:
LISTEINC = $(DEST)/file.inc $(DEST)/otherfile.inc $(DEST)/anotherfile.inc compteur = 1 $(DEST)/file: $(LISTEINC) #action $(DEST)/%.inc: $(DEST)/%.jpg ./script $< $compteur $(DEST) > $@
如何将变量compteur设置为1(文件),2(其他文件),3(另一个文件)?
$((compteur ++))可以在bash脚本中工作,但是在这里我真的不知道它是什么。我尝试了$$()++ +1等的许多组合。有人可以帮我吗?
可以通过以下方式完成eval
:
$(eval compteur=$(shell echo $$(($(compteur)+1))))
从手册:
eval函数非常特殊:它允许您定义非恒定的新makefile结构;这是评估其他变量和函数的结果。扩展eval函数的参数,然后将该扩展的结果解析为makefile语法。扩展结果可以定义新的生成变量,目标,隐式或显式规则等