linux驱动笔记(1):驱动文件的makefile模板

KERNELDIR := /home/zuozhongkai/linux/IMX6ULL/linux/temp/linux-imxrel_imx_4.1.15_2.1.0_ga_alientek
CURRENT_PATH := $(shell pwd)
 obj-m := chrdevbase.o

build: kernel_modules

kernel_modules:
             $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
              $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

 

说明:
 KERNELDIR 表示开发板所使用的 Linux 内核源码目录,使用绝对路径,大家根
据自己的实际情况填写即可。
第 2 行, CURRENT_PATH 表示当前路径,直接通过运行“pwd”命令来获取当前所处路
径。
第 3 行, obj-m 表示将 chrdevbase.c 这个文件编译为 chrdevbase.ko 模块。
第 8 行,具体的编译命令,后面的 modules 表示编译模块, -C 表示将当前的工作目录切
换到指定目录中,也就是 KERNERLDIR 目录。 M 表示模块源码目录,“make modules”命令
中加入 M=dir 以后程序会自动到指定的 dir 目录中读取模块的源码并将其编译为.ko 文件。
Makefile 编写好以后输入“make”命令编译驱动模块

 

备注:当目标文件有多个.c文件生成时

obj-m:=ex.o

ex-objs:=a.o b.o

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页