驱动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     insmod hello.ko
  9 uninstall:
 10     rmmod hello.ko
 11 clean:
 12     make -C  $(KERNEL_DIR) M=$(CURRENT_PATH) clean
 13 else
 14     modules-objs:=hello.o
 15     obj-m:=hello.o
 16 endif

时间: 2024-12-20 00:58:16

驱动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

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 mo

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