Makefile在奇怪的情况下拒绝匹配目标模式

时间:2015-05-14 09:53:35

标签: makefile

当一个人跑

时,我遇到了一些奇怪的行为
make hello-there

,makefile是

hello-%:
    @echo hi $*

我得到了

hi there

但是当makefile只是

hello-%:

我得到了

make: *** No rule to make target `hello-there'.  Stop.

1 个答案:

答案 0 :(得分:1)

在第二种情况下,您没有为hello-%定义任何规则。

documentation

的第5章开始
  

配方中的每一行必须以制表符开头,第一行除外   配方行可以附加到目标和先决条件行   

之间的分号

你必须解决这个问题:

  • 在定义目标名称的行末尾添加分号:

    hello-%:;

  • 添加一行仅包含定义目标名称

  • 的标签下方的标签