在makefile中,下面的操作是什么?

rule: $(deps)
    @:

我好像在制造手册上找不到这个。

最佳答案

意思是“不要在输出端回显这个命令”,所以这个规则是“执行shell命令:,不要回显输出。
当然,shell命令:是一个no-op,所以这里说的是“不做任何事,不要告诉别人”。
为什么?
这里的诀窍是你有两种不同语法的模糊组合。make(1)语法是使用以@开头的操作,这只是不回显命令。所以像这样的规则

always:
       @echo this always happens

不会发射
   echo this always happens
   this always happens

现在,规则的操作部分可以是任何shell命令,包括:。bash help解释了这一点,也解释了任何地方:
$ help :
:: :
    Null command.

    No effect; the command does nothing.

    Exit Status:
    Always succeeds.

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

10-12 00:43
查看更多