关闭

linux内核Makefile的简单分析

540人阅读 评论(0) 收藏 举报
分类:
                                                                           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。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:90067次
    • 积分:1319
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:76篇
    • 译文:0篇
    • 评论:5条
    最新评论