小编use*_*438的帖子

GNU Make 失败,foreach->eval->call

因此,我在尝试在以下形式的 makefile 中压缩一堆重复行时遇到了麻烦:

dir := XXX  
include dir/Makefile  
VAR_1 += $(VAR2)    # where VAR2 and VAR4 are defined in the included makefile    
VAR_3 += $(VAR4)    
Run Code Online (Sandbox Code Playgroud)

像这样的表格:

dir:= XXX1 XXX2 XXX3 ...
$(foreach elements,$(dir),$(eval $(call function,$(elements))))

define function  
$(eval include $(1)/Makefile)  
$(eval VAR_1+=$$(VAR2))  
$(eval VAR_3+=$$(VAR4))  
endef
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误,因为 makefile 似乎无法确定如何构建文件。我是 makefile 的新手,我在函数、foreach 等方面尝试了许多变体,但没有任何效果。如果我将所有内容都放回明确说明的每一行,那么一切都会很好。有什么明显的我做错了吗?

foreach gnu makefile eval call

4
推荐指数
1
解决办法
2901
查看次数

标签 统计

call ×1

eval ×1

foreach ×1

gnu ×1

makefile ×1