/***************************************************************************
* linux kernel 模块多文件编译
* 声明:
* 本文主要是记录在调试驱动的阶段,我们可能会更倾向于使用模块插入的方式
* 来进行驱动调试,这样可以大大缩短调试时间。之前在调试gt9xx Touch的时候也
* 是采用这种方式,这里还是记录一下,日后方便查找。
*
* 2016-2-2 深圳 南山平山村 曾剑锋
**************************************************************************/ 一、cat Makefile
ifneq ($(KERNELRELEASE),)
# gt9xxm.o去掉后缀就是生成的.ko的名字
# 多文件编译注意gt9xxm.o、gt9xxm-objs的命名方式
obj-m := gt9xxm.o
gt9xxm-objs := gt9xx.o gt9xx_update.o goodix_tool.o
else
KDIR := /home/zengjf/kernel # 指定内核所在的目录
all:
make -C $(KDIR) M=$(PWD) modules clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order
endif 二、输出结果:
zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$ ls -al
total
drwxrwxr-x zengjf zengjf Jan : .
drwxrwxr-x zengjf zengjf Jan : ..
-rwxrw-rw- zengjf zengjf Jan : goodix_tool.c
-rw-rw-r-- zengjf zengjf Jan : goodix_tool.o
-rw-rw-r-- zengjf zengjf Jan : .goodix_tool.o.cmd
-rwxrw-rw- zengjf zengjf Jan : gt9xx.c
-rwxrw-rw- zengjf zengjf Nov gt9xx_firmware.h
-rwxrw-rw- zengjf zengjf Jan : gt9xx.h
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.ko
-rw-rw-r-- zengjf zengjf Jan : .gt9xxm.ko.cmd
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.mod.c
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.mod.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xxm.mod.o.cmd
-rw-rw-r-- zengjf zengjf Jan : gt9xxm.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xxm.o.cmd
-rw-rw-r-- zengjf zengjf Jan : gt9xx.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xx.o.cmd
-rwxrw-rw- zengjf zengjf Nov gt9xx_update.c
-rw-rw-r-- zengjf zengjf Jan : gt9xx_update.o
-rw-rw-r-- zengjf zengjf Jan : .gt9xx_update.o.cmd
-rw-rw-r-- zengjf zengjf Jan : Makefile
-rw-rw-r-- zengjf zengjf Jan : modules.order
-rw-rw-r-- zengjf zengjf Jan : Module.symvers
drwxrwxr-x zengjf zengjf Jan : .tmp_versions
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. CString 转换成 char *

    最近用到CString类,转换成 char * 类型,下面介绍用法: 一.CString 和 LPSTR 转换: CString转换成LPSTR: 方法一:CString server; LPSTR ...

  2. 如果使用得当,MySQL 也可以化身 NoSQL

    [编者按]随着互联网和移动互联网的发展,各个机构都需要支撑远超过以往的数据.而在这个需求的刺激下,IT 领域出现了大量数据处理技术,其中之一就是 NoSQL .灵活的数据类型,高效的处理能力,让 No ...

  3. Tries

    trie,又称前缀树或字典樹,是一种有序树,用于保存关联数组,其中的键通常是字符串.与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定.一个节点的所有子孙都有相同的前缀,也就是这个节 ...

  4. Amazon 面经

    [版面:待字闺中][首篇作者:gmadj] , 2013年09月29日21:51:33 [首页] [上页][下页][末页] [分页:1 2 ] gmadj 进入未名形象秀 我的博客     [回复] ...

  5. POJ 1026 Cipher(置换群)

    题目链接 题意 :由n个数字组成的密钥,每个数字都不相同,都在1-n之间,有一份长度小于等于n的信息,要求将信息放到密钥下边,一一对应,信息不足n的时候补空格,然后将位置重新排列,将此过程重复k次,求 ...

  6. Ubuntu环境下手动配置ant

    配置ant 1. 下载ant(http://ant.apache.org/bindownload.cgi) 例如我下载的是:apache-ant-1.9.4-bin.tar.gz 解压ant,将文件夹 ...

  7. TortoiseSVN文件夹及文件图标不显示解决方法(转发)

    地址:http://blog.csdn.net/lishehe/article/details/8257545 由于自己的电脑是win7(64位)的,系统安装TortoiseSVN之后,其他的功能都能 ...

  8. Android 程序运行之后,禁止休眠

    在程序中添加 // 禁止休眠功能 getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager. ...

  9. 李洪强iOS开发之上传照片时英文改中文

    今天在做项目的时候,有一个功能是上传照片选择系统相册的照片,或者拍照上传照片,但是页面上的文字是英文的, 需求想改成中文的,解决方法是在 info.plist里面添加 Localized resour ...

  10. 李洪强iOS开发之零基础学习iOS开发【02-C语言】03-关键字、标识符、注释

    上一讲中已经创建了第一个C语言程序,知道了C程序是由函数构成的,这讲继续学习C语言的一些基本语法.C语言属于一门高级语言,其实,所有的高级语言的基本语法组成部分都是一样的,只是表现形式不太一样.就好像 ...