为什么同时使用`make clean`和`make mrproper`?

sit*_*lge 17 linux make gnu

它是写在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
Run Code Online (Sandbox Code Playgroud)

并且在arch 文档中指出

要完成准备工作,请确保内核树绝对干净;

$ make clean && make mrproper

那么如果make mrproper进行更彻底的删除,为什么make clean使用?

Kus*_*nda 28

清理在三个级别完成,如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
Run Code Online (Sandbox Code Playgroud)

根据 Makefile,mrproper目标取决于clean目标(参见第 1421 行)。此外,distclean目标取决于mrproper.

make mrproper因此,执行就足够了,因为它还会删除与clean目标所做的相同的事情(以及更多)。

mrproper1993年加入目标(的Linux 0.97.7),并一直依赖于clean目标。这意味着,这是从来没有必要使用这两个目标中make clean && make mrproper

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

  • @sitilge 是的,它是多余的,因为当您运行 `make mrproper` 时,无论如何 make 都会运行它。 (2认同)