前言
本文主要介绍如何编写基于交叉工具链的外部内核模块的Makefile
一、外部内核模块
很多时候,我们为了开发某个内核驱动,都是使用内核模块的方式来进行开发的,这个时候我们只需要知道内核版本就可以了, 不需要拿到整个内核源码,驱动及Makefiel写完后,就可以直接释放给第三方,第三方拿到该内核模块源码后只需要在该驱动的Makefile中指定对应的内核源码路径就可以正常编译了。这种模式大大的方便了驱动的开发。
最典型的就是SOC中GPU的驱动, 如PowerVR等, 均是以外部内核模块的方式来进行开发和交付的。
二、外部内核模块的Makefile实例
如下代码所示:
obj-m += char_device_demo.o
KDIR = 内核源码根目录/build
PWD := $(shell pwd)
defa