首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么使用“做清洁”和“制造清洁”?

为什么使用“做清洁”和“制造清洁”?
EN

Unix & Linux用户
提问于 2017-08-22 11:46:17
回答 3查看 30.4K关注 0票数 21

它是在linux内核Makefile中编写的

代码语言:javascript
复制
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呢?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2017-08-22 11:55:46

清洗是在三个级别进行的,如内核中的注释所述:

代码语言:javascript
复制
###
# 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年添加的(Linux0.97.7),一直依赖于clean目标。这意味着从来没有必要像在make clean && make mrproper中那样使用这两个目标。

历史参考:https://archive.org/details/git-history-of-linux

票数 31
EN

Unix & Linux用户

发布于 2017-08-22 11:54:19

cleanMakefilemrproper目标的先决条件,因此单独执行make clean是多余的。

票数 3
EN

Unix & Linux用户

发布于 2022-02-23 02:43:29

在特定的指令(make clean && make mrproper)中,是的,这是没有意义的(就像说删除所有方块,然后删除所有正方形和所有三角形)...but make clean通常比make mrproper有用得多(因为在绝大多数内核构建中,您最不想要的就是丢弃您的.config).因此,也许有人这样写指令纯粹是为了提醒您注意其中的差异(即提醒您,第二部分将破坏您的.config,所以现在就支持它,如果您习惯了运行make clean,然后能够像往常一样构建的话)。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/387640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档