关于makefile的基础知识,可以参考以下教程和文章学习:
1、跟我一起写Makefile
2、linux基础-makefile
3、makefile最佳实践 - 从原理到实用技巧
4、多文件目录下的makefile的编写(从简单到复杂)
5、多目录时Makefile 的编写方法
6、Makefile学习之路(4) — 添加头文件依赖
7、Linux Makefile 生成 *.d 依赖文件及 gcc -M -MF -MP 等相关选项说明
内核makefile的几种编译方式
-
直接编译:
obj-y +=xxx.o
;表示由xxx.c
或xxx.s
编译得到xxx.ko
并直接编进内核。 -
条件编译:
obj-$(CONFIG_HELLO) +=xxx.o
;根据.config
文件的CONFIG_XXX
来决定文件是否编进内核。 -
模块编译:
obj-m +=xxx.o
;表示xxx
作为模块编译,即执行make modules
时才会被编译。