加入收藏 | 设为首页 | 会员中心 | 我要投稿 佛山站长网 (https://www.0757zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

make clean、make mrproer及make distclean有什么区别

发布时间:2016-10-22 06:06:33 所属栏目:Linux 来源:网络整理
导读:解压内核源码包后, 到内核源代码目录树的顶层目录, 执行 # make help Cleaning targets: clean - Remove most generated files but keep the config and enou

解压内核源码包后, 到内核源代码目录树的顶层目录, 执行

# make help

Cleaning targets:

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

distclean - mrproper + remove editor backup and patch files

看帮助可以发现删除的文件范围从小到大依次为: make clean < make mrproper < make distclean, 查看源码目录树的顶层目录下的Makefile求证, 可以发现:

clean: archclean $(clean-dirs)

$(call cmd,rmdirs)

$(call cmd,rmfiles)

@find . $(RCS_FIND_IGNORE)

( -name '*.[oas]' -o -name '*.ko' -o -name '.*.cmd'

-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c'

-o -name '*.symtypes' -o -name 'modules.order'

-o -name 'Module.markers' )

-type f -print | xargs rm -f

mrproper: clean archmrproper $(mrproper-dirs)

$(call cmd,rmdirs)

$(call cmd,rmfiles)

distclean: mrproper

@find $(srctree) $(RCS_FIND_IGNORE)

( -name '*.orig' -o -name '*.rej' -o -name '*~'

-o -name '*.bak' -o -name '#*#' -o -name '.*.orig'

-o -name '.*.rej' -o -size 0

-o -name '*%' -o -name '.*.cmd' -o -name 'core' )

-type f -print | xargs rm -f

也就是说, 执行make mrproper, 会先执行make clean, 执行make distclean之前, 会先执行make mrproper。

再回到make help的结果:

make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块

make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件

make distclean mrproper 删除的文件, 加上编辑备份文件和一些补丁文件。

更多精彩内容:http://www.bianceng.cn/OS/Linux/

(编辑:佛山站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读