【发布时间】:2011-11-18 19:59:12
【问题描述】:
我目前正在开展一个非常广泛地使用模板的项目,并且在实例化过程中遇到了内存限制。我已将实例化拆分为许多非常简单的文件,它们都是仅包含包含的三行代码。
我让这些由 Makefile.am 中的规则生成。现在我有一个很长的文件列表,应该在我的 Makefile 中生成,并且想用类似 foreach 的表达式重构这个列表。更具体的说:我有这样一行
libfoo_la_SOURCES = a_0.cpp a_1.cpp ... b_0.cpp b_1.cpp ... c_0.cpp c_1.cpp ...
可以更简洁地表达为
libfoo_la_SOURCES = $(foreach i,a b ...,$(foreach j,0 1 ...,$i_$j.cpp))
但是,第二个构造不仅被 automake 警告,而且也不起作用:以这种方式给出的文件既没有编译也没有清理。
我当前的解决方法是通过 shell 脚本生成此文件列表。
任何想法如何实现这个迭代?
【问题讨论】:
标签: makefile autotools automake