过滤掉变量后展开变量
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}})
我有很多变量,其中一些以 _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}})