驱动-驱动模块编译Makefile

发布时间 2023-08-09 15:04:45作者: starc再起航

文件目录结构

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");