我是靠谱客的博主 陶醉宝贝,这篇文章主要介绍linux内核驱动编程的Makefile详解,现在分享给大家,希望可以做个参考。

目的:uart_drv.c文件编译生成.o文件。

其中:内核源码所在目录是/home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/


Makefile写法

obj-m:=uart_drv.o
KDIR := /home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/
all:

make -C $(KDIR) SUBDIRS=$(PWD) modules

clean:略


也可以一口气写成:

all:(一部全部)
        make modules 
    -C /home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/
        SUBDIRS=$(PWD)
        uart_dev.o

所有的都是要给linux 中的makefile传参,其实际是make -C的路径是到/home/akaedu/allword/driver/LASO.tools/src/linux-2.6.35.7/的当前目录下找到makefile ,执行的操作是make modules.
其过程是生成一个相应的.mod.c再生成一个.mod.o文件,然后.mod.o文件和.o文件一起共同生成这个.ko文件。

make 的时候会有
 CC [M]  /home/akaedu/drive/chardev/uart_drv.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/akaedu/drive/chardev/uart_drv.mod.o
  LD [M]  /home/akaedu/drive/chardev/uart_drv.ko
[]内部的M就是modules的意思。



最后

以上就是陶醉宝贝最近收集整理的关于linux内核驱动编程的Makefile详解的全部内容,更多相关linux内核驱动编程内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部