Linux内核配置:Makefile目标

在顶层Linux源码目录中输入命令make help,它会显示一长串从源码树中生成的目标列表。最常见的使用make的方式是不指定目标,在这种情况下,它会生成内核ELF文件vmlinux和针对所选架构的默认二进制镜像(例如,x86架构的bzImage)。使用make时,如果不指定目标,它也会编译所有由配置文件指定的设备驱动程序模块(内核可加载模块)。

很多架构和机器类型都需要一个二进制镜像目标,而这个目标与具体使用的架构和引导加载程序有关。比较常见的这类目标是zImage。对于很多架构来说,这就是默认的二进制镜像目标,可以被加载到目标嵌入式系统中并运行。

新手常犯的一个错误就是将bzImage指定为make的目标。然而,bzImage目标是针对x86/PC架构的。

注意,即使是help目标(在执行命令make help时,我们指定了help为make的目标)也是与具体架构相关的。如果你在执行make help时指定了不同的架构,其输出的代码清单也会不同。

Linux内核配置:Makefile目标_第1张图片

……

Linux内核配置:Makefile目标_第2张图片

……

Linux内核配置:Makefile目标_第3张图片

注:目标前有星号“*”,表示此目标会默认构建。以_defconfig结尾的目标,它们都代表了默认配置。

你可能感兴趣的:(makefile)