内核模块的Makefile编写

 

KERNELDIR ?= /home/franky/linux-2.6.35  #这是你的内核源码的地址

 

PWD := $(shell pwd) #当前编译地址

CROSS_COMPILE = /home/franky/toolchain/bin/ #交叉编译工具的地址

CC = $(CROSS_COMPILE)arm-none-linux-gnueabi-gcc  #交叉编译工具的名字

 

 

 

obj-m := led_drv.o #模块的名字

 

all:

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules #先进入

 

 

KERNELDIR目录进行编译,然后返回

 

clean:

rm -rf *.o *~ core .depend .*.cmd *.ko

 

 

首先将目录改变到-C选项指定的位置(即内核源代码目录,其中有内核的顶层makefile文件),M=选项让该makefile在构造modules目标之前返回到当前目录。

 

 

你可能感兴趣的:(shell,工具,makefile)