Linux下面去编译项目之前,一般常会用make mrproper去先删除之前编译所生成的文件和配置文件,备份文件等,其中,mrproper和distclean,clean之间的区别,Linux内核源码根目录下面的makefile中,有很清晰的解释:
help:
@echo 'Cleaning targets:'
@echo ' clean - Remove most generated files but keep the config and'
@echo ' enough build support to build external modules'
@echo ' mrproper - Remove all generated files + config + various backup files'

@echo ' distclean - mrproper + remove editor backup and patch files'

mrproper到底是什么意思呢?为什么起了个这么个看起来如此诡异的名字。

在英文wiki对Mr. Clean的解释提到了此点;
http://en.wikipedia.org/wiki/Mr._Clean
"make mrproper" is a command in the Linux kernel build system, used to "clean up" all files from past builds and restore the build directory to its original clean state. The reason "make mrproper" is used instead of "make mrclean" is because Linus Torvalds, the father of Linux, was familiar with the name "Mr. Proper" as this is the brand widely known in Europe."

总的来说,就是:首先,我们要知道的是make mrproper想要做的事情是,清理旧的编译生成的文件及其他配置等文件,所以,相当于Clean,即我们在现实世界中用清洁剂去清洁卫生,清理旧的,不再需要的,脏东西。而现实世界中,保洁(P&G)公司的,有一个清洁产品方面的品牌,在美国叫做Mr.Clean,在欧洲叫做Mr.Proper,所以编译之前的清理旧东西的命令,原先是用的make mrclean,即make Mr.Clean。只是后来被Linux之父Linus Torvalds改成了make mrproper,即make Mr.Proper。所以,现在就变成了用make mrproper来清理之前的东西了。

最新文章

  1. 前端开发教程:使用 CSS3 Transforms 构建圆形导航
  2. 【20160924】GOCVHelper 图像处理部分(1)
  3. servlet执行流程
  4. 《Automatic Face Classification of Cushing’s Syndrome in Women – A Novel Screening Approach》学习笔记
  5. 关于Java的File.separator
  6. URI URL
  7. Ubuntu配置Android编译环境
  8. MVC3中 ViewBag、ViewData和TempData的使用和区别(转发:汴蓝)
  9. oracle exp imp
  10. UVA 1623 Enter The Dragon
  11. 八:Lombok 安装、入门 - 消除冗长的 java 代码
  12. Codeforces 626C
  13. windows 防火墙拦截nginx的问题
  14. C语言预备作业
  15. [Swift]LeetCode227. 基本计算器 II | Basic Calculator II
  16. 关于Servlet的一些归纳(2)
  17. spring bean 注入
  18. Vue -- 项目报错整理(1):RangeError: Maximum call stack size exceeded
  19. 每日英语:Redfin Real-Estate Firm Gets Cold Shoulder in Silicon Valley
  20. “全栈2019”Java异常第九章:throws关键字详解

热门文章

  1. oracle查询包含大小写的数据
  2. NOJ——1665夜神的思考(YY+组合问题+分类讨论)
  3. BZOJ4514 [Sdoi2016]数字配对 【费用流】
  4. iOS-文件断点续传
  5. linux JDK安装(一)
  6. CentOS 7.4升级Linux内核
  7. 微信小程序之微信支付C#后台(统一下单)
  8. robot upstart 问题
  9. 类加载器在加载类 的时候就已经对类的static代码块和static变量进行了初始化
  10. 【hibernate】唯一约束 注解