过滤掉变量后展开变量

Expand variables after filtering them out

我有很多变量,其中一些以 _OBJDIR 结尾。现在我想要一个包含所有 _OBJDIR 扩展的单个变量。我知道我可以做到一半:

ALLOBJDIRS = $(filter %_OBJDIR,$(.VARIABLES))

但现在我有:

ALLOBJDIRS = A_OBJDIR B_OBJDIR C_OBJDIR

我想要:

ALLOBJDIRS = a/obj b/obj c/obj

在哪里

A_OBJDIR = a/obj

等等。如何在过滤器后展开 ALLOBJDIRS?

结合'foreach'和'value'函数扩展变量值

@echo ALLOBJDIR = $(foreach v, $(filter %_OBJDIR,$(.VARIABLES)), $(value $v))

此外,可以使用${${VAR}},

@echo ALLOBJDIR = $(foreach v, $(filter %_OBJDIR,$(.VARIABLES)), ${${v}})