在Makefile中,我读到:
-rm -rf (而不是rm -rf)。在Makefile中行的开头,第一个"-“是什么意思?
发布于 2010-06-07 12:33:43
这意味着make本身将忽略来自rm的任何错误代码。
在makefile中,如果任何命令失败,那么make进程本身就会停止处理。通过使用-作为命令的前缀,您可以通知make,不管命令的结果如何,它都应该继续处理规则。
例如,makefile规则:
clean:
rm *.o
rm *.a如果*.a返回一个错误(例如,如果没有要删除的任何*.o文件),将不会删除rm *.o文件。使用:
clean:
-rm *.o
-rm *.a会解决那个特殊的问题。
旁白:虽然在您的特定情况下可能不需要它(因为-f标志似乎可以防止rm在文件不存在时返回错误),但是在makefile中显式标记行仍然是很好的做法-- rm在某些情况下可能返回其他错误,这表明了您的意图。
https://stackoverflow.com/questions/2989465
复制相似问题