文章传送门:https://www.cnblogs.com/tp-16b/p/8955462.html
自己阅读之后,发现这篇文章写的非常不错,虽然没有把所有的关于make和Makefile的知识点都列出来,但是对于小白理解它们还是非常有帮助的,至少我看过之后对于make如何执行以及Makefile如何编写都有了不错的理解。
这篇文章的主要包括以下几个内容:
-
Makefile是什么?
-
程序的编译和链接
-
如何编写Makefile?
-
make是怎么利用Makefile执行的?
-
如何简化Makefile?
对该文章的一些补充:
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
时才会被编译。