Makefile“ for”变量作为动态变量名

关键帧

我在Makefile中有一些动态命名的变量。一切正常,一切都很好。现在,我需要在for循环中引用其中一些变量,但是似乎找不到正确的语法:

@for module in $(MODULES); do \
    (echo $(SRC_$$module)); \
done

每个$(MODULE)是一个需要附加到$(SRC _...例如$(SRC_foo)$(SRC_bar)...的名称...但是我似乎无法使用这种语法来做到这一点。

伊坦·赖斯纳

您有扩展时间问题。一旦Shell开始运行,您将无法动态扩展make级变量。您要在这里做什么。

您可以在make时或在shell时扩展变量,但不能同时扩展。

要在腾空时扩展所有内容,可以使用类似以下的内容。

@$(foreach module,$(MODULES),$(foreach cfile,$(SRC_$(module)),echo '[$(cfile)]';))

在shell时进行扩展是可能的,但是有点混乱/复杂。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章