编译Linux2.6.x内核驱动的makefile文件

编译Linux2.6.x内核驱动的makefile文件

#变量DRI_NAME MOD_NAME NOD_NAME分别设置伪驱动程序的名称,生成模块的名称和设备节点的名称
#
使用make install进行安装驱动需要root权限
#
使用make uninstall进行卸载驱动需要root权限


#
使用make clean清除多余的文件,包括生成的模块代码

#驱动名称
DRI_NAME :=demo
#
模块名称
MOD_NAME :=IMTI_DEMO
#
节点名称
NOD_NAME :=/dev/demo

obj-m :=$(DRI_NAME).o
KERNELDIR ?=/lib/modules/$(shell uname -r)/build
PWD ?=$(shell pwd)

default:
$(MAKE) -C ${KERNELDIR} M=${PWD} modules
#
安装的伪代码

.PHONY:install uninstall clean
install:default
insmod demo.ko
mknod $(NOD_NAME) c `awk '$$2=="'${MOD_NAME}'" {print $$1}' /proc/devices` 0
#
卸载的伪代码
uninstall:
rm -f $(NOD_NAME)
rmmod $(DRI_NAME)
#
清理垃圾的伪代码
clean:
@rm -rf *.o *.ko .tmp_versions *~ Module.symvers .*.cmd *.mod.c

 



你可能感兴趣的:(c,linux,shell,makefile)