在Makefile中,假设我有一个以相同的方式处理一组变量的规则,例如,通过将它们的值作为同名的定义传递给编译目标,例如:
CC $(CXXFLAGS) ... -DFOO_BAR=$(FOO_BAR) -DFOO_BAZ=$(FOO_BAZ) ...
无论这是否是一个好的设计,是否有一些方法可以概括这一点,所以所有形式为FOO_*
的变量都以这种方式传递?
答案 0 :(得分:3)
假设您正在使用GNU make,您可以执行以下操作:
FOODEFS = $(foreach F,$(filter FOO_%,$(.VARIABLES)),-D$F=$($F))
CC $(CXXFLAGS) ... $(FOODEFS) ...