Makefile中的以下内容是什么?

rule: $(deps)
    @:

我似乎在制作手册中找不到这个。

最佳答案

这意味着“不要在输出上回显此命令”。因此,此规则是说“执行shell命令:且不回显输出。

当然,shell命令:是禁止操作的,因此它的意思是“什么也不做,不要告诉”。

为什么?

这里的窍门是,您将两种不同的语法混为一谈。 make(1)语法是使用以@开头的 Action ,这只是不回显命令。这样的规则

always:
       @echo this always happens

不会发射
   echo this always happens
   this always happens

现在,规则的操作部分可以是任何shell命令,包括:。 Bash帮助可以在任何地方对此进行解释:
$ help :
:: :
    Null command.

    No effect; the command does nothing.

    Exit Status:
    Always succeeds.

关于makefile - @:(在冒号处)在Makefile中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8610799/

10-11 22:39