1. /***************************************************************************
  2. * linux kernel 模块多文件编译
  3. * 声明:
  4. * 本文主要是记录在调试驱动的阶段,我们可能会更倾向于使用模块插入的方式
  5. * 来进行驱动调试,这样可以大大缩短调试时间。之前在调试gt9xx Touch的时候也
  6. * 是采用这种方式,这里还是记录一下,日后方便查找。
  7. *
  8. * 2016-2-2 深圳 南山平山村 曾剑锋
  9. **************************************************************************/
  10.  
  11. 一、cat Makefile
  12. ifneq ($(KERNELRELEASE),)
  13. # gt9xxm.o去掉后缀就是生成的.ko的名字
  14. # 多文件编译注意gt9xxm.o、gt9xxm-objs的命名方式
  15. obj-m := gt9xxm.o
  16. gt9xxm-objs := gt9xx.o gt9xx_update.o goodix_tool.o
  17. else
  18. KDIR := /home/zengjf/kernel # 指定内核所在的目录
  19. all:
  20. make -C $(KDIR) M=$(PWD) modules
  21.  
  22. clean:
  23. rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order
  24. endif
  25.  
  26. 二、输出结果:
  27. zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$ ls -al
  28. total
  29. drwxrwxr-x zengjf zengjf Jan : .
  30. drwxrwxr-x zengjf zengjf Jan : ..
  31. -rwxrw-rw- zengjf zengjf Jan : goodix_tool.c
  32. -rw-rw-r-- zengjf zengjf Jan : goodix_tool.o
  33. -rw-rw-r-- zengjf zengjf Jan : .goodix_tool.o.cmd
  34. -rwxrw-rw- zengjf zengjf Jan : gt9xx.c
  35. -rwxrw-rw- zengjf zengjf Nov gt9xx_firmware.h
  36. -rwxrw-rw- zengjf zengjf Jan : gt9xx.h
  37. -rw-rw-r-- zengjf zengjf Jan : gt9xxm.ko
  38. -rw-rw-r-- zengjf zengjf Jan : .gt9xxm.ko.cmd
  39. -rw-rw-r-- zengjf zengjf Jan : gt9xxm.mod.c
  40. -rw-rw-r-- zengjf zengjf Jan : gt9xxm.mod.o
  41. -rw-rw-r-- zengjf zengjf Jan : .gt9xxm.mod.o.cmd
  42. -rw-rw-r-- zengjf zengjf Jan : gt9xxm.o
  43. -rw-rw-r-- zengjf zengjf Jan : .gt9xxm.o.cmd
  44. -rw-rw-r-- zengjf zengjf Jan : gt9xx.o
  45. -rw-rw-r-- zengjf zengjf Jan : .gt9xx.o.cmd
  46. -rwxrw-rw- zengjf zengjf Nov gt9xx_update.c
  47. -rw-rw-r-- zengjf zengjf Jan : gt9xx_update.o
  48. -rw-rw-r-- zengjf zengjf Jan : .gt9xx_update.o.cmd
  49. -rw-rw-r-- zengjf zengjf Jan : Makefile
  50. -rw-rw-r-- zengjf zengjf Jan : modules.order
  51. -rw-rw-r-- zengjf zengjf Jan : Module.symvers
  52. drwxrwxr-x zengjf zengjf Jan : .tmp_versions
  53. zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$

linux kernel 模块多文件编译的更多相关文章

  1. Android 怎样在linux kernel 中读写文件

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  2. Linux kernel 模块 hello 测试

    原文链接:https://www.cnblogs.com/nerohwang/p/3621316.html hello.c 文件: #include <linux/kernel.h> /* ...

  3. Linux kernel模块管理相关详解

    Linux内核模块化设计 1. Linux内核设计:单内核.模块化(动态装载和卸载) (1) Linux:单内核设计,但充分借鉴了微内核体系的设计的优点:为内核引入了模块化机制:(2) 内核的组成部分 ...

  4. linux kernel 的配置及编译

    1. 执行make menuconfig 配置内核 2. 执行make zImage 编译内核 3. 执行make modules 编译模块 4. 内核源代码的配置及编译系统 Makefile Kco ...

  5. Ubuntu的多文件编译以及c语言的数组、函数

    闲言少叙,直接切入主题. 一.Linux下的多文件编译(Ubuntu系统). 对于小程序来说,往往一个.c文件就足够了,里面包含了各种主函数和功能函数,以及函数的声明等等.但是这样的弊端主要有两点,一 ...

  6. Linux Kernel 代码艺术——编译时断言

    本系列文章主要写我在阅读Linux内核过程中,关注的比较难以理解但又设计巧妙的代码片段(不关注OS的各个模块的设计思想,此部分我准备写在“深入理解Linux Kernel” 系列文章中),一来通过内核 ...

  7. Linux课程实践二:编译模块实现内核数据操控

    一.内核模块原理 1. Linux内核增加功能 Linux内核整体结构很庞大,包含了很多的组件,现在有两种方法将需要的功能包含进内核当中: - 静态加载:将所有的功能都编译进Linux内核. - 动态 ...

  8. 编译android的linux kernel goldfish

    https://source.android.com/source/building-kernels.html $ export PATH=/home/hzh/oldhome/learn/androi ...

  9. linux 内核头文件 linux kernel header

    概述:在进行有关系统软件的安装的时候(编译一个新的驱动,或者安装一个系统级别的测试工具,例如systemtap),经常需要重新编译内核,相应的问题往往与内核头文件有关.那么,什么是内核头文件,为什么需 ...

随机推荐

  1. java接口的方法默认都是public abstract类型

    java接口的方法默认都是public abstract类型, 因此我们在编写接口的实现类的时候,方法的实现前面要显式的加上public访问控制符

  2. css块级元素、行内元素

    说说对html页面元素的排列认识: html中所有元素从上到下排列,所以需要css来对其中的元素进行排序.调节样式,并用js为其添加交互效果. css的排序.定位是相对块级元素而言的,margin/p ...

  3. struct2访问或添加request/session/application

    访问或添加request/session/application 1 通过ActionContext //这样放置 public String execute()  {     ActionConte ...

  4. 【redis】03list类型

    list类型 redis的list类型是一个链表结构,他的主要功能是push.pop.获取一个范围的所有值等等一些操作, 咱们push什么意思,push是不是相当于咱们php里面的array_push ...

  5. [Hibernate]dynamic-insert和dynamic-update属性

    这二个属性默认情况均为false,你可以通过以下二种方式进行配置使用: 1.Annotation @Entity @Table(name = "stock_transaction" ...

  6. 查杀linux线程指令

      工作中重启环境时常常出现内存溢出等等问题,往往需要查杀进程来帮助重启成功,下面就查杀线程的详细指令做下总结:   1.查找需要kill掉的线程: ps -elf|grep [线程关键信息] 比如: ...

  7. TVM 下载监控

    iftop -n -i em1 -F 218.26.188.220/32 到10.10.81.23上用上面的语句看山西的流量. 到/opt/data/log/下看日志 到/opt/data/tvmca ...

  8. hdu1162Eddy's picture

    http://acm.hdu.edu.cn/showproblem.php?pid=1162 最小生成树 #include<iostream> #include<stdio.h> ...

  9. nginx的健康检查功能将挂掉的Tomcat舍弃

    1.Ngninx自带健康检查功能,能将挂掉的服务器舍弃,不在访问路径里 2.Nginx还有URL重写功能,能将接收到的请求,进行改写,再将新的URL分发到后端服务器上

  10. jsp是有自己的编译引擎的

    什么是jsp? JSP(Java Server Pages)是指: 在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码 然后将生成的整个页面信息返回给客户端 ...