@:(在符号冒号)是什么意思在Makefile?

在Makefile中做了什么?

rule: $(deps)
    @:

我似乎不能在make手册中找到这个。

这意味着“不要在输出上回显此命令。所以这个规则是说“执行shell命令:并且不回显输出。

当然shell命令:是一个无操作,所以这是说“什么也不做,不要告诉”。

为什么?

这里的诀窍是,你有一个晦涩的两种不同的语法的组合。 make(1)语法是使用以@开头的操作,它不是回显命令。所以一个规则喜欢

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.
http://stackoverflow.com/questions/8610799/what-does-at-symbol-colon-mean-in-a-makefile

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:@:(在符号冒号)是什么意思在Makefile?