makefile:重用多个食谱

时间:2012-11-26 12:47:20

标签: makefile

我想对隐式和普通规则使用相同的复杂配方块。 另外,我希望make在上一个命令执行后回显下一个命令。

Make不允许混合隐式和普通规则。

期望的输出:

$ make foo bar.abc
echo a
a
echo b
b
echo a
a
echo b
b

这不起作用:

%.abc foo:
    echo a
    echo b

这将有效:

CMD = echo a && echo b
foo:
    $(CMD)

%.abc:
    $(CMD)

但输出不是我想要的:

$ make foo bar.abc
echo a && echo b
a
b
echo a && echo b
a
b

1 个答案:

答案 0 :(得分:4)

您可以使用define为变量分配多行值:

define CMD
echo a
echo b
endef