因此,我在尝试在以下形式的 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 等方面尝试了许多变体,但没有任何效果。如果我将所有内容都放回明确说明的每一行,那么一切都会很好。有什么明显的我做错了吗?