为了省去每次编译内核的麻烦,于是采用模块的方式进行编写,这样会省很多时间。

makefile:

#

# gpio_keys

#

PWD :=$(shell pwd)

KERNELDIR := /home/zjf/R40/lichee/linux-3.10

ARCH=arm

CROSS_COMPILE = /home/zjf/R40/lichee/out/sun8iw11p1/linux/common/buildroot/external-toolchain/bin/arm-linux-gnueabi-

CC=$(CROSS_COMPILE)gcc

LD=$(CROSS_COMPILE)ld

obj-m += gpio_keys.o

modules:

$(MAKE) -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) modules    //必须TAB缩进

clean:

make -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) clean   //必须TAB缩进

上面不缩进的话会提示:Makefile:24: *** missing separator。 停止。

要编译的.c 文件可以放在其他地方,不一定非要放在内核目录下,编译后会在当前目录生成 .o 和.ko文件。

驱动模块Makefile 编写【原创】相关推荐

  1. Linux下Makefile编写语法

    原创 Linux下Makefile编写语法 2016-07-29 08:31:53 Datrilla 阅读数 1386更多 分类专栏: Linux Makefile 版权声明:本文为博主原创文章,遵循 ...

  2. [动态库]动态库生成和使用以及Makefile编写

    转自:https://www.cnblogs.com/ljtknowns/p/5647793.html 文件目录结构如下 1 dynamiclibapp.c 2 Makefile 3 comm/inc ...

  3. linux环境cpp/c文件的makefile编写(caffe举例)

    编译单个cpp文件 方法一.g++ 文件名.cpp,生成一个名为 "文件名.out" 的可执行文件 方法二.g++ -c 文件名.cpp -o 新文件名.o:生成一个被命名成 &q ...

  4. linux 生成和使用动态链接库和静态链接库的Makefile编写

    引用 Jesse Rei 的 linux 生成和使用动态链接库和静态链接库的Makefile编写 生成和使用动态链接库和静态链接库的Makefile编写 1. 概述 介绍linux下生成和使用动态链接 ...

  5. Linux C编程Makefile编写初步-转

    Linux C编程Makefile编写初步 假设我们有下面这样的一个程序,源代码如下:  /* main.c */  #include "mytool1.h"  #include  ...

  6. Ubuntu下使用gcc和makefile编写c语言程序

    文章目录 前言 一.gcc编写c语言程序 1.hello world的输出 2.简单程序的编译与运行 3.windows环境下的编译运行结果对比 二.makefile编写c语言程序 总结 前言 本文通 ...

  7. Linux下的makefile编写 ——陈皓《跟我一起写Makefile》学习笔记(一)

    Linux下的makefile编写 前言 本人记笔记习惯使用OneNote,在学习LinuxC++过程中发现deepin上没有大佬开发或者移植,本人技术也不精,所以决定写博客记笔记(只是习惯问题,并没 ...

  8. 嵌入式(十四)——Makefile编写及多级目录

    文章目录 工程管理器make 1.1 什么是工程 1.2 工程管理器的作用 1.3 makefile文件 真目标和伪目标 1.4 执行顺序: 1.5 多级目录的Makefile编写 隔断 多级目录下的 ...

  9. 简单Makefile编写教程

    Makefile编写 1. make和Makefile的介绍 1.1 make工具 利用make工具可以自动完成编译工作.这些工作包括: 如果仅仅修改了某几个源文件,则只重新编译这几个源文件: 如果某 ...

最新文章

  1. Xampp修改数据库默认用户root的密码
  2. allocator类初学的简单例子
  3. 银行推出一年存1万连着存5年,利率4.5%,能存吗?
  4. C和指针之部分理解和编码总结
  5. 利用丁香园数据生成疫情分布地图(R语言)| 博文精选
  6. 见微知著,构“见”未来
  7. 【Jvm】jvm -XX 参数 VM 调优参数
  8. 2016-8-4学习正则表达式
  9. LeetCode 28. Implement strStr()
  10. C++ #include头文件随想
  11. 永磁同步电机转子磁链_永磁同步电机转子初始位置检测、增量式光电编码器对位调零思路解析...
  12. 二维码生成代码(转载)
  13. mac测试电池软件,BattMan(Mac电池监测软件) V1.6 Mac版
  14. 第3章-数理知识基础 -> 代数图论
  15. [ZT]范伟导老师Sniffer课程资料
  16. 3dmax Maxscript 回调脚本异常
  17. flask中的应用工厂
  18. 160个常用黑客命令速查手册
  19. 计算机科学计算矩阵答案,计算机科学计算答案.doc
  20. ImageJ对荧光信号离散的细胞计数方法

热门文章

  1. linux驱动基础知识(1)--总线理解
  2. 2018CES智能硬件与新技术盘点
  3. requestmapping中path与value区别_1、Spring注解之@RequestMapping
  4. CSDN创作的markdown语法效果示意图
  5. 把Rust和Servo引入Firefox
  6. 一起来玩AZURE SQL(二)AZURE SQL 初级使用篇
  7. Python3 爬虫(一)-- 简单网页抓取
  8. MFC开发IM-第二十篇、MFC添加自定义消息
  9. 机器学习实现计算不规则图形面积_谷歌开源 TensorFlow Graphics:专为 3D 图像打造的深度学习利器...
  10. realme Q5 Pro Vans联名版曝光:经典棋盘格图案设计 辨识度拉满