在任意一个目录下编写驱动程序,然后把此驱动程序编译为指定内核的模块,那么就要为此驱动程序写Makefile文件,假设驱动程序为:helloworld.c.此时编写Makefile文件。
/Makefile/
KERNAL ?=/home/forlinx/work/linux-3.2.0/ //KERNAL是定义的一个变量,来指定我们要驱动程序要运行内核的源码的路径,“?=”表示如果这个变量没有被赋值
就把后面的变量赋给它。/home/forlinx/work/linux-3.2.0/ 表示内核源码的路径
obj-m +=helloworld.o // 把helloworld.c编译为内核模块
default:
make -C $(KERNAL) M=$(PWD) modules //make -C 是改变当前目录进入到变量KERNAL所指定的目