1

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

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
4

1 回答 1

4

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

define CMD
echo a
echo b
endef
于 2012-11-26T13:31:09.803 回答