Driver-驱动模块编译的Makefile

文件目录结构

Makefile

# 需要的系统内核路径
KERNELDIR := /lib/modules/$(shell uname -r)/build
# 现在的路径
CURRENT_PATH := $(shell pwd)
# 需要编译生成的模块名字
MODULE_NAME :=hello
# 编译时需要的文件,会自动推导出需要的.c文件
obj-m := hello.o
# 多文件编译时设置
# hello-objs := hello1.o hello2.o
# 编译目标
build: kernel_modules
kernel_modules:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

模块.c文件

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
static int funcIn(void)
{
printk("in module\n");
return 0;
}
static void funcOut(void)
{
printk("out module\n");
return;
}
module_init(funcIn);
module_exit(funcOut);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("elfy");

操作过程

参考链接

posted @   steve的miao  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示