linux内核驱动编程的Makefile详解

本文介绍如何通过Makefile编译uart_drv.c文件生成.o文件,并最终生成.ko模块。使用了make-C命令来指定内核源码目录,通过modules操作完成编译流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的: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的意思。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值