make clean, make mrproer 和 make…
来源:互联网 发布:hey jude 知乎 编辑:程序博客网 时间:2024/05/29 12:32
解压内核源码包后, 到内核源代码目录树的顶层目录, 执行
# 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 backupfiles
distclean - mrproper + remove editor backup and patch files
#
Cleaning targets:
看帮助可以发现删除的文件范围从小到大依次为: 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
clean: archclean$(clean-dirs)
也就是说, 执行make mrproper, 会先执行makeclean, 执行make distclean之前, 会先执行make mrproper。
再回到make help的结果:
makeclean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块
make mrproper 删除所有的编译生成文件,还有内核配置文件, 再加上各种备份文件
make distclean mrproper删除的文件,加上编辑备份文件和一些补丁文件。
makeclean
make mrproper
make distclean
Q: 很多内核编译的教程都说在make之前要先makemrproper,清除以前编译的产物。但编译器/链接器本身就会检查文件的日期,并确定是否需要重新编译/链接。如果清除了,很多以前已经编译过的代码又得重新编译。如果说这样能节省硬盘空间的话,那只有那些先前编译过而现在不再需要的模块的空间被节省了,而代价则是编译时间延长了。个人觉得得不偿失,至少不需要每次编译都来一次makemrproper。
A: 我没有makemrproper,每次修改内核配置后很快就能编译完成,很方便,也没发现什么问题
如果make不能确定那些文件要重新编译,那还要make做什么
个人观点,尽信书则不如无书,实践出真知,呵呵
如果make不能确定那些文件要重新编译,那还要make做什么
个人观点,尽信书则不如无书,实践出真知,呵呵
A: 不执行makemrproper是否出错,取决于Makefile的智能化程度。如果Makefile没能完成你所要求的全部改动,很可能编译出来的内核不如你所愿,甚至可能导致panic。建议重新编译的时候注意看看改动是否都落实了。
0 0
- make clean, make mrproer 和 make…
- make clean, make mrproer 和 make…
- Make sure to have the zlib libs …
- Make sure to have the zlib libs …
- 【原创】Make You Googl…
- ./configure,make,make insta…
- It is never too late to make a c…
- make ARCH=arm CR…
- make: *** [depend] 错误 2
- 异构数据收集器 - to make logic b…
- make: warning: Clock skew detec…
- Grep 抓不到make 输出
- Ubuntu10.04下:make menucon…
- linux中执行make menuconfig及make…
- mysql CMake与make安装参数对应
- 在ubuntu中编译内核是用make …
- Linux内核编译问题2/make uIm…
-  
- windows下的键值跟linux下的按键键…
- windows下的键值跟linux下的按键键…
- usbgamepad驱动程序
- usbgamepad驱动程序
- make clean, make mrproer 和 make…
- make clean, make mrproer 和 make…
- 成功移植linux2.6.38内核到TQ2440 …
- 成功移植linux2.6.38内核到TQ2440 …
- Linux移植随笔:终于解决Tslib的问…
- Linux移植随笔:终于解决Tslib的问…
- 移植linux2.6.38内核到TQ2440
- 移植linux2.6.38内核到TQ2440
- cvQueryFrame获取的图像和cvReleas…
- cvQueryFrame获取的图像和cvReleas…