转换并使用与规则

时间:2018-02-06 02:49:29

标签: makefile build

在Makefile中,假设我有一个以相同的方式处理一组变量的规则,例如,通过将它们的值作为同名的定义传递给编译目标,例如:

CC $(CXXFLAGS) ... -DFOO_BAR=$(FOO_BAR) -DFOO_BAZ=$(FOO_BAZ) ...

无论这是否是一个好的设计,是否有一些方法可以概括这一点,所以所有形式为FOO_*的变量都以这种方式传递?

1 个答案:

答案 0 :(得分:3)

假设您正在使用GNU make,您可以执行以下操作:

FOODEFS = $(foreach F,$(filter FOO_%,$(.VARIABLES)),-D$F=$($F))

        CC $(CXXFLAGS) ... $(FOODEFS) ...