ifneq ($(KERNELRELEASE),) /*KERNELRELEASE是一个变量,这句话的意思是,如果KERNELRELEASE的值不为空的话,就执行下面的语句*/
obj-m := bus.o /*算是变量的赋值,obj-m是一个变量,作为一个模块变量*/
Else /*else 执行之后的全部语句,直到endif*/
KDIR := /home/guoqian/4-3-1/linux-2.6.29
all: /*all是这个makefile的第一个目标,也就是target即总的目标*/
make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux- /*KDIR应该是kernel dirctory也就是内核目录的意思,M应该是module,也就是模块目录的意思.有时候模块目录和内核目录不在同一个目录*/
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers modul*
endif