驱动.ko文件的Makfile
KERNELDIR = /home/zheng/Program/imx6ulevk/kernel-source
PWD := $(shell pwd)
CROSS_COMPILE = arm-none-linux-gnueabi-
CC = $(CROSS_COMPILE)gcc
obj-m := led.o
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions
.PHONY: modules clean
其中shell pwd会取得当前路径
make -C $(KERNELDIR) M=$(PWD) modules
指令含义:首先改变目录到-C选项指定的位置(即内核源代码目录),其中保存有内核的顶层makefile;
M=选项让该makefile在构造modules目标之前返回到模块源代码目录;然后,modueles目标指向obj-m变量中设定的模块;