我在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] 删除。
我来说两句