Linux内核中是Makefile
这么写的
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
并且上面有说明拱形文档那
为了完成准备工作,请确保内核树绝对干净;
$ make clean && make mrproper
那么如果make mrproper
有更彻底的去除,为什么还要make clean
使用呢?
答案1
清洁分三个级别进行,如评论中所述Linux 内核 Makefile:
###
# Cleaning is done on three levels.
# make clean Delete most generated files
# Leave enough to build external modules
# make mrproper Delete the current configuration, and all generated files
# make distclean Remove editor backup files, patch leftover files and the like
根据Makefile,mrproper
目标依赖于clean
目标(参见1421行)。此外,distclean
目标取决于mrproper
.
因此,执行make mrproper
就足够了,因为它还会删除与clean
目标所做的相同的事情(甚至更多)。
该mrproper
目标是在 1993 年(Linux 0.97.7)添加的,并且始终依赖于该clean
目标。这意味着从来没有必要使用两个都目标如make clean && make mrproper
.
答案2
clean
mrproper
是目标的先决条件生成文件,因此make clean
单独执行是多余的。
答案3
在该特定指令中(make clean && make mrproper
)是的,这是毫无意义的(就像说删除所有正方形,然后删除所有正方形和所有三角形)...但make clean
通常比make mrproper
(因为你想要的最后一件事,绝大多数内核构建,就是垃圾你的.config
)...所以也许有人以这种方式编写指令纯粹是为了提醒您差异(即提醒您第二部分将垃圾您的.config
,所以现在备份它,如果您'我习惯了运行make clean
然后能够像往常一样构建)。