linux内核Makefile的简单分析

本文详细介绍了Makefile如何在Linux内核编译过程中发挥作用,包括如何通过配置文件.config来确定编译哪些文件为内核部分,哪些编译为模块。同时,文章还深入探讨了顶层Makefile及子目录下的Makefile如何设置编译选项,以及它们是如何组织文件并最终生成内核映像文件vmlinux。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                                           Makefile 总结
1)配置文件.config中定义了一系列的变量,Makefile将结合它们来决定哪些文件被编译进内核。哪些文件被编译成模块。涉及哪些子目录。
2)顶层Makefile和arch/$(ARCH)/Makefile决定更目录下哪些子目录,arch/$(ARCH)目录下哪些文件和目录被编译进内核。
3)最后,各级子目录下的Makefile决定所在目录下哪些文件将被编译进内核,哪些文件将被编译进内核,哪些文件将编译成模块(即驱动程序),进入哪些子目录继续调用它们的Makefile。
4)顶层Makefile和arch/$(ARCH)/Makefile设置了可以影响所以文件的编译,连接选项:CFLSGS,AFLAGS,LDFLAGS,ARFLAGS.
5)各级子目录下的Makefile中可以设置能够影响当前目录下所有文件的编译,连接选项:EXTRA_CFLAGS,EXTRA_AFLAGS,EXTRA_LDFLAGS,EXTRA_ARFLAGS;还可以设置可以影响某个文件的编译选项:CFLAGS_$@,AFLAGS_&@。
6)顶层Makefile按照一定的顺序组织文件。根据连接脚本arch/$(ARCH)/kernel/vmlinux.lds 生成内核映像文件vmlinux。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值