试图在一些研究的基础上形成自己的答案。我认为严重程度的大致顺序是;
mostlyclean
clean
maintainer-clean
,
mrproper
distclean
最后呢
clobber
蒸馏清洁
和
uninstall
使干净
make clean
GNU Make Manual's Goals page
国家:
删除通常通过运行make创建的所有文件。
此外,还有
GNU Make Manual's Standard Targets page
阶段:
删除当前目录中通常通过生成程序创建的所有文件。如果其他目录中的文件是由这个makefile创建的,也可以删除它们。但是,不要删除记录配置的文件。还可以保存可以通过构建生成的文件,但通常不会,因为分发版附带了这些文件。不需要删除用mkdir-p创建的父目录,因为它们本来就可以存在。
使最干净
make mostlyclean
是我发现的唯一一种更温和的clean形式,它的行为类似于clean,但留下的文件需要很长时间才能编译,并且不需要经常重新生成。
这个
阶段:
喜欢clean,但是可以避免删除一些人们通常不想重新编译的文件。例如,GCC的mostlyclean目标不会删除libgcc.a,因为重新编译libgcc.a几乎没有必要,而且需要花费大量时间。
使蒸馏器干净
make distclean
是从基本
使干净
在许多GNU-Make系统上。它似乎是化名或至少非常类似与
make realclean
和
make clobber
在许多情况下,但不是所有情况下。它会删除所有
执行并删除配置。
在Linux系统中,这是一个更进一步的步骤
make mrpropper
,有关详细信息,请参见下面的部分。
GNU制作手册的目标页
这些目标中的任何一个都可能被定义为比clean删除更多的文件。例如,这将删除通常作为编译准备创建的配置文件或链接,即使makefile本身无法创建这些文件。
此外,还有
GNU制造手册的标准目标页
删除当前目录中(或由此makefile创建的)通过配置或生成程序创建的所有文件。如果您已经解压了源代码并构建了程序,而没有创建任何其他文件,makedistclean应该只保留分发版中的文件。但是,不需要删除用mkdir-p创建的父目录,因为它们本来就可以存在。
使卸载
make uninstall
make install
或者一个
install-*
制造冲击波
在某些系统上,但是
制造冲击波
威尔。
这个
GNU制造手册的标准目标页
阶段:
此规则不应修改完成编译的目录,只应修改安装文件的目录。
make maintainer-clean
似乎比更常见的
. 它几乎删除了除配置之外的所有内容。这使得它非常类似于
使干净
.
GNU制造手册的标准目标页
删除几乎所有可以用这个Makefile重建的东西。这通常包括distclean删除的所有内容,以及Bison生成的更多:C源文件、标记表、信息文件等等。
还需要强调的是,这不是一个常用的目标,因为它针对的是一组特定的用户:
maintainer clean目标是由包的维护人员使用的,而不是由普通用户使用的。
清除旧目标文件和配置
make mrproper
使蒸馏器干净
或
.
这就停止了删除备份和补丁文件。它所做的一切
使干净
目标不执行并删除配置。
Mr. Clean
而英国则是Flash(这就是为什么我没有听说过这个产品的名字)。身为芬裔美国人的莱纳斯·托瓦尔兹大概对普洛普先生的品牌很熟悉。
Linux Kernel 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
制造冲击波
有人提到
Wikipedia article for Clobbering
我也是。这也说明它比
使干净
,可能是一个甚至卸载软件。有可能是
和
没有单一的来源,使清洁水平。随着时间的推移,术语和行为是不一致的。以上是我迄今为止拼凑出的最好的一篇。