makefile集锦

1、+/-用法

https://blog.csdn.net/chuanzhilong/article/details/52461410

“-” 表示即使 make 规则执行失败,忽略该条,继续执行。

make 通常会在命令运行结束后检查命令的执行的返回状态,如果返回成功,那么就启动一个子 shell 来执行下一条命令; 如果在中途检测到有执行出错的情况(返回非 0 状态),那么就会放弃对当前规则后续命令的执行,甚至会终止所有规则的执行。但在某些情况下,规则中一个命令执行失败并不代表整个规则执行错误,所以完全可以忽略这条可能执行失败的命令,其忽略的方法是在命令前添加一个 '-' 符号。

在 Makefile 经常看到在 include 面前添加 '-' 符号:-include ,这时当 include 包含的文件不存在时也不会造成整个 Makefile 解析的终止。又如,当一条 rm 命令前添加 ‘-’ 符号时,如果要删除的文件不存在或删除文件失败也不会对整个流程有任何影响。

“+” 表示强制执行该命令。

'+' 的意思和 '-' 相反,表示不忽略。这就意味着,像 make 的命令行选项 -n(--just print), -t(touch) 并不影响之前带 '+' 符号的命令的执行。像 -n 选项,一般情况下,它只是在解析命令,而不真正执行它们,但是命令前使用了 '+' 就后 -n 选项就不能阻止命令被执行。

 

2、@

‘@’添加到命令行前,则该命令将不被 make 回显出来,即执行的命令行不会在执行前输出到屏幕上。

 

posted @ 2020-09-27 10:59  hunterDing  阅读(86)  评论(0编辑  收藏  举报