ifeq ($(KERNELRELEASE),)
KERNELDIR ?= /home/ldc/tiny6410_kern/linux-2.6.38 //开发板的内核,要在PC上编译,这里一定是要与开发板内核版本是一样的
PWD := $(shell pwd) //取得当前路径
modules:
/*调用make工具*从当前路径*切换到内核所在路径*源代码在当前路径*以模块的方式编译*///这是5个参数的含义
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean: //虚目标,清除中间文件
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.order Module*
.PHONY: modules modules_install clean
else
obj-m := led.o//真正的编译从这开始,主意"led"这个文件名一定要与led.c对应才能编译,-m表示以模块的方式编译
endif
时间: 2024-11-06 06:23:57