tiny6410_led驱动Makefile

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

原文地址:https://www.cnblogs.com/ldcb/p/4592487.html