Makefile中命令前-+@符号的意义

 

如上一般的Makefile的写法,可以看到有两行命令前面加上了特殊符号,一个@一个-,那么他们分别有什么意义呢,一直有点疑惑。

专门查了下,如下解释

@ 使命令在被执行前不被回显。
使任何命令行的任何非零退出状态都被忽略。
+ 使命令行可以通过指定 -n、-q 或 -t 选项来执行。

【make中命令行前面加上减号】

就是,忽略当前此行命令执行时候所遇到的错误。

而如果不忽略,make在执行命令的时候,如果遇到error,会退出执行的,加上减号的目的,是即便此行命令执行中出错,比如删除一个不存在的文件等,那么也不要管,继续执行make。

【make中命令行前面加上at符号@】

就是,在make执行时候,输出的信息中,不要显示此行命令。

而正常情况下,make执行过程中,都是会显示其所执行的任何的命令的。如果你不想要显示某行的命令,那么就在其前面加上@符号即可。

【make中命令行前面加上加号+】

对于命令行前面加上加号+的含义,目前还是不是很清楚。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注