linux驱动模块编译Makefile

该Makefile最好是和hello.c同样的路径

obj-m+=hello.o            表示编译生成的模块  前缀hello必须和.c文件相同

all:

        make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) modules

clean:

        make -C /lib/modules/$(shell uname -r)/build/ M=$(PWD) clean

解释以上:

指定内核源码的位置,进入内核编译

-C

内核源码的位置

/lib/modules/$(shell uname -r)/build/

指定编译的地址

M=$(PWD)

M=$(CURDIR)

编译模块放置位置

modules:默认是将源文件编译生成内核模块 放置 /lib/modules/$(uname -r)/extra/

modules_install:安装外部模块  建立环境变量指定位置INSTALL_MOD_PATH

删除

clean 

多文件编译

如果多文件编译,我们需要指定文件

obj-m := foo.o bar.o

foo-y := a.o  b.o c.o      #后边的 生成foo.o的文件 必须保证有.o前缀的.c

bar-y := e.o d.o                             #后边的 生成bar.o的文件

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值