当前位置:  技术问答>linux和unix

模块编译的小问题,对makefile的理解

    来源: 互联网  发布时间:2016-09-09

    本文导语:  照着书上写了一个简单的驱动globalmem,源程序文件是globalmem.c。 makefile文件只写了 obj-m:=globalmem.o 在命令行使用make -C /linux源码目录 M=/驱动代码目录 modules 这样编译出了一个globalmem.ko 在这里,我并不用在makefile文...

照着书上写了一个简单的驱动globalmem,源程序文件是globalmem.c。
makefile文件只写了 obj-m:=globalmem.o
在命令行使用make -C /linux源码目录 M=/驱动代码目录 modules
这样编译出了一个globalmem.ko

在这里,我并不用在makefile文件里面说明要用什么编译器,由于默认为gcc,对吧。

接下来,我想这个在我的arm开发板上面实验这个驱动。照我的想法,应该指定所用的编译工具吧,如写上CC=/路径/arm-linux-gcc什么的。
但是不用这样做,只是在make命令的-C后面指定我开发板用的linux内核目录,编译出来的ko就可以在开发板上使用了。

为什么会这样呢?make这里会根据内核自动的选择使用什么编译器吗?就算是这样,我的交叉编译工具所在的路径我并没有加入环境变量,它是怎么使用的呢?

|
在命令行使用make -C /linux源码目录 M=/驱动代码目录 modules
=================================
这个是关键。你要看的是 linux 源码目录 下的 Makefile, 这里已经定义好了工具链和平台等等。

|


无法编译

|
关键 make -C 就是指定了使用内核的 Makefile
-M 参数告诉内核你要编译代码的位置,它会在它的 Makefile 中包含你的 Makefile。

所以你的 Makefile 只是整个内核复杂 Makefile 树中的一个。

    
 
 

您可能感兴趣的文章:

  • *******是不是对内核模块编程然后再重新编译内核就可以把此模块整合到linux系统中
  • 驱动模块可以编入内核,想单独编译成模块,makefile怎么写?
  • 关于如何把编译进内核的编译成模块
  • 想问一下,编译LINUX内核时,是否可以只编译其中的一个模块?
  • [求教]内核加载模块后,这部分内容编译在内核里的吗?
  • 驱动模块编译调试问题、、????
  • 编译出来的内核模块怎么那么大
  • 如何查看编译进内核的模块
  • 编译模块的时候出现的问题
  • rndis驱动编译成内核模块
  • 将驱动模块编译进内核是否有用??
  • 如何编译内核源代码中的某一模块?
  • 编译模块的小问题
  • 为什么我编译的内核模块由300M这么大
  • 为什么apache编译后 ,没有rewrite模块?
  • apache模块静态编译问题
  • 模块编译问题!!!!!!!1
  • 模块编译问题?
  • BUS LOGIC是什么模块?编译内核在那里选?
  • 编译内核模块的问题....(急)
  • GDGraph-1.44模块中没有Makefile.PL或者configure
  • 编写内核模块程序的makefile文件make错误
  • 最简单的模块makefile
  • 关于"hello,world"模块的Makefile文件里面的几个问题
  • (由于帖子长,分三个写)写了一个使用PC机并口控制十字路口交通灯的内核级设备驱动程序模块,但不知道在Linux2.6内核下如何写Makefile?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python异常模块traceback用法举例
  • Linux中一个模块中的函数如何被另一个模块调用?
  • Python的MySQLdb模块安装
  • insmod模块无显示,但rmmod模块有显示
  • 传感器模块、gprs模块如何和我的2440开发板相连
  • 大侠帮忙!模块调试(非内核模块)
  • 想删除内核中的一个模块,输入命令后,系统提示该模块不存在。但是我lsmod时,它在/proc/modules中。求解。
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • 自己写的内核模块与用户模块通信(交互)
  • 如何停止模块运行
  • 弱弱的问一个关于"模块化编程"的问题
  • 模块的安装求助
  • 模块依赖小问题,请各位大大帮忙
  • 关于rsync同步模块配置问题
  • 自定义内核模块禁止启动图形界面
  • 使用非root用户加载模块出错
  • 如何想向内核添家一个自定义的模块?
  • 关于LINUX内核模块的按需卸载及安装
  • 驱动模块断电重加载问题
  • linux内核模块间调用函数
  • 内核模块和设备驱动的区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3