内核模块编译-Makefile写法
如果编译内核模块,可以编写Makefile,然后执行make命令即可。
Linux2.6的Makefile模板如下:
#Makefile2.6
ifneq ($(KERNELRELEASE),)
#kbuild syntax. dependency relationship of files and target modules are listed here.
mymodule-objs := file1.o file2.o
obj-m := mymodule.o
else
PWD := $(shell pwd)
KVER := &(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M=$(PWD)
clean:
rm -rf *.*.cmd *.o *.mod.c *.ko .tmp_versions
endif
注意:
1.ifneq 后面有空格。
2.命令前面必须使用tab键,如&(MAKE)和rm 的前面。
3.Makefile必须和相应的.c文件放在同一个目录下。
代码解释:

本文详细介绍了Linux2.6内核模块编译的Makefile编写方法,包括如何处理依赖关系、指定目标模块及编译指令。通过一个具体的Makefile模板,解释了如何根据KERNELRELEASE变量确定执行路径,以及make命令的-C选项和M参数的用法。此外,还讲解了clean目标用于清除编译过程中生成的临时文件。
最低0.47元/天 解锁文章
468

被折叠的 条评论
为什么被折叠?



