在makefile中出现“ +rm -rf $(obj)”,请问那个“+”符号是代表什么意思?

all:
+rm -rf $(obj)

我见过“@”符号,但怎么也搞不懂“+”符号是什么意思。请高人指点!!!
这个符号“+”出现在Makefile的命令行前头,我想是应该有什么特殊作用的,(比如“@”就用于消除回显),但这个“+”的作用是什么呢?

不应当有加号。
rm 是删除文件命令,-rf 是强迫删除包括一系列子文件夹中的文件,$(obj) 变量含 要删除的 obj 文件名。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-12
makefile中以+开头的命令的执行不受到 make的-n,-t,-q三个参数的影响。

比方说你的 makefile 是这样写的

all:
echo hello
+echo world

正常你 make,两个echo命令都会执行
hello
world

然后你 make -n,就只有第二个echo命令会被执行了本回答被提问者采纳
第2个回答  2010-02-26
这个是用bash解释还是其他解释器运行?我记得如果设置set -xtrace后执行命令之前要把命令字符以 开头显示给用户。 说不定是GNU make定义的一个有特殊含义的东西和shell无关。
相似回答