设为首页 加入收藏

TOP

kbuild系统中最简单的目标 -- help(三)
2023-07-23 13:29:37 】 浏览:22
Tags:kbuild 简单的 help

当你学完help目标后你会发现它与我们的代码基本没有什么直接的关系,仅仅是用来生成kbuild的简短使用说明,但是用它来作为学习掌握kbuild编译系统的开篇,不管是从难度还是学习感受上真的是再适合不过。

如何使用help命令?
在linux内核源码最顶层目录下执行如下命令。

make help

可以看到如下或者类似的打印(由于打印内容太长,只截取了部分内容)
在这里插入图片描述

help目标定义在哪里?
help命令定义在顶层Makefile中,部分代码如下:

help:
	@echo  'Cleaning targets:'
	@echo  ' clean - Remove most generated files but keep the config and'
	@echo  ' enough build support to build external modules'
	@echo  ' mrproper - Remove all generated files + config + various backup files'
	@echo  ' distclean - mrproper + remove editor backup and patch files'
	@echo  ''
	@echo  'Configuration targets:'
	@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
	@echo  ''
	@echo  'Other generic targets:'
	@echo  ' all - Build all targets marked with [*]'
	@echo  '* vmlinux - Build the bare kernel'
	@echo  '* modules - Build all modules'
	@echo  ' modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
	@echo  ' firmware_install- Install all firmware to INSTALL_FW_PATH'
	@echo  ' (default: $$(INSTALL_MOD_PATH)/lib/firmware)'
	@echo  ' dir/ - Build all files in dir and below'
	@echo  ' dir/file.[oisS] - Build specified target only'
	@echo  ' dir/file.lst - Build specified mixed source/assembly target only'
	@echo  ' (requires a recent binutils and recent build (System.map))'
	@echo  ' dir/file.ko - Build module including final link'
	@echo  ' modules_prepare - Set up for building external modules'
	@echo  ' tags/TAGS - Generate tags file for editors'
	@echo  ' cscope - Generate cscope index'
	..........................................

相信你已经看到这个定义和执行对应命令时控制台的打印是一致的。

总结
通过对help目标的学习,相信您已经了解一个kbuild的单个目标是如何运作起来的了。和我们平时见到的最简单的makefile结构类似,没有什么大的差别。
虽然kbuild编译系统比较复杂,但是再复杂的结构都可以将其拆分成若干个简单的组成部分,在此基础上再去逐个了突破,逐渐就可以揭开看似神秘的面纱。相信你也可以通过不断探索,掌握这个这看似复杂的kbuild编译系统。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ESP32-CAM制作监控器教程(platfo.. 下一篇linux内核中的likely与unlikely

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目