Makefile - 在一行中使用两次相同的变量

时间:2018-02-23 21:46:38

标签: makefile gnu-make

我有一个食谱:

define postmake 
ZZZ=$(strip $(1))
echo $(ZZZ) $(ZZZ)
endef

$(1)是传递给它的第一个参数。调用配方时,echo命令仅打印变量的第一个扩展。第二个丢失了。 如何在同一行中两次展开/使用相同的变量?

objcopy something.elf -O binary something.bin我需要它(something是变量,在我的情况下,第二个文件变为.bin,显然是错误的。)

更新:我使用Boilermake作为模板。除了这个食谱之外的其他所有东西都可以很好我像这样调用postmake食谱:

TARGET :=main.elf
TGT_POSTMAKE := ${postmake}$(TARGET)

1 个答案:

答案 0 :(得分:0)

事实证明,在Boilermake中,当指定TGT_POSTMAKE时,只能定义配方名称。 正确的方式:

TGT_POSTMAKE := $(postmake)

方式不正确:

TGT_POSTMAKE := $(postmake) $(TARGET)

然后在postmake食谱而不是像$(1)这样的参数中,只需使用$(TARGET)