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

时间: 2024-11-06 06:23:57

tiny6410_led驱动Makefile的相关文章

linux驱动之模块化驱动Makefile

本文摘自http://blog.csdn.net/lufeiop02/article/details/6446343 Linux驱动一般以模块module的形式来加载,首先需要把驱动编译成模块的形式.简单的例子, #include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> static int __init test_init(void) { printk("init

驱动makefile

1 ifeq ($(KERNELRELEASE),)  2 CURRENT_PATH=$(shell pwd)  3 #KERNEL_DIR:=/lib/modules/$(shell uname -r)/build/  4 KERNEL_DIR:=/lib/modules/$(shell uname -r)/build  5 default:  6     make -C $(KERNEL_DIR) M=$(CURRENT_PATH) modules  7 install:  8     in

mini2440驱动奇谭——LED驱动与测试(动态加载)

我的博客:http://blog.csdn.net/muyang_ren 实现功能:开发板动态加载led驱动模块并能通过测试程序 系统:Ubuntu 14.04 驱动交叉编译内核:linux-2.6.32.2               //建立交叉编译 开发板:mini2440 (128M nandflash)     //关于怎么烧写linux到开发板请点击,Linux RootFs 选择rootfs_rtm_2440.img  (光盘目录:image/linux/rtm ) 开发所需工具:

字符设备模板

linux驱动 makefile写法: ifneq ($*KERNELRELEASE),) obj-m :=hello.o else KERNELDIR?=/lib/modules/$(shell uname -r) /build PWD :=$(shell pwd) default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modules endif 初始化和关闭: static int __init initialization_funciton(void) { *

转:《Linux设备驱动程序3》源码目录结构和源码分析经典链接

转自:http://blog.csdn.net/geng823/article/details/37567557 [原创][专栏]<Linux设备驱动程序>--- LDD3源码目录结构和源码分析经典链接 [专栏]Linux设备驱动程序学习(总目录) [专栏]LDD3源码分析链接(总目录) 1. LDD3源码分析之hello.c与Makefile模板 2. LDD3源码分析之字符设备驱动程序 其他错误: 我的Linux内核为 3.2.0-65-generic-pae,在scull目录下make时

linux驱动系列之makefile

在linux环境下做嵌入式无论是编写应用程序还是驱动程序等等,都需要用make来进行程序的编译,就需要学会自己编写Makefile.一个简单的makefile文件如下: 1 hell:hello.c 2 gcc -o hello hello.c 3 clean: 4 rm -f hello 这个是最简单的makefile,makefile的作用就是写程序者可以决定哪些文件需要编译.上面的2.4行需要使用Tab键不能使用空格. makefile中可以定义变量和使用函数. makefile中定义变量

Linux驱动之Kconfig与Makefile

在linux编写驱动的过程中,有两个文件是我们必须要了解和知晓的.这其中,一个是Kconfig文件,另外一个是Makefile文件.如果大家比较熟悉的话,那么肯定对内核编译需要的.config文件不陌生,在.config文件中,我们发现有的模块被编译进了内核,有的只是生成了一个module.这中间,我们如何让内核发现我们编写的模块呢,这就需要在Kconfig中进行说明.至于如何生成模块,那么就需要利用Makefile告诉编译器,怎么编译生成这个模块.模仿其实就是最好的老师,我们可以以内核中经常使

一步一步学习Linux驱动之驱动模块MakeFile解析

make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序. 一.使用条件判断 下面的例子,判断$(CC)变量是否"gcc",如果是的话,则使用GNU函数编译目标. libs_for_gcc = -lgnu normal_libs = foo: $(objects) ifeq ($(CC),gcc) $(CC) -o foo $(objects) $(libs_for_gcc) else $(CC) -o foo $(objects) $(no

写一个驱动通用的Makefile

1.Makefile模板 #generate the pathCURRENT_PATH:=$(shell pwd) #the absolute pathLINUX_KERNEL_PATH:=/home/steven/PCU/linux-2.6.35.3 #complie objectall: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modulesclean: make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_P