我想对隐式和普通规则使用相同的复杂配方块。 另外,我希望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
答案 0 :(得分:4)
您可以使用define
为变量分配多行值:
define CMD
echo a
echo b
endef