模块编译Makefile解析

原创 2015年07月08日 20:16:18

《Linux驱动开发详解》上有一个简单的HelloWorld驱动,用到了一个Makefile,如下

  1 ifneq ($(KERNELRELEASE),)  
  2 obj-m := hello.o
  3 else
  4 KDIR := /usr/src/kernels/2.6.18-238.el5-i686
  5 all:
  6         make -C $(KDIR) M=$(PWD) modules 
  7 clean:
  8         rm -f *.ko *.o *.mod.o *.mod.c *.symvers modul*
  9 endif

第1行:KERNELRELEASE是在Linux内核源码目录下Makefile里定义的,KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null),即输出Linux版本号。

如果现在是在内核源代码目录运行,则直接继续运行第2行,obj-m: 则表示该文件作为模块编译,编译生成hello.ko。

如果KERNELRELEASE没有被定义则跳到第4行,$(KDIR) 指定了内核源码的路径,M=$(PWD) 指定了该模块文件所在的路径。 、

78行做清理工作。


一步一步学习 Linux 驱动之驱动模块 MakeFile 解析

make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。 一、使用条件判断 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU...
  • xy010902100449
  • xy010902100449
  • 2015年04月13日 09:25
  • 1883

多模块编译链接 Makefile文件的编写

一、概述 现在,免费的操作系统Linux的使用者越来越多。Linux的爱好者们也许要在Linux软件开发上一展身手,不过很遗憾,Linux平台上还没有一个像Visual C++或Borland Del...
  • u010906068
  • u010906068
  • 2014年12月22日 16:01
  • 1005

使用makefile编译nodejs模块

使用过node-gyp编译nodejs的addon插件的人,一定很好奇,node-gyp到底帮你做了什么事情,还有,如果我们自己做,难度到底如何。本文不作makefile文件语法的讲解,如果你不懂, ...
  • limite_god
  • limite_god
  • 2015年02月18日 15:58
  • 2060

Makefile之Linux内核模块的Makefile写法分析

原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb666/article/details/8771621,作者:gqb666         六一快...
  • gqb666
  • gqb666
  • 2013年06月01日 10:31
  • 7646

关于linux内核模块编程时,多个源代码文件Makefile书写的问题

在学习内核模块编程的时候遇到了一些由于Makefile书写不正确导致的问题。一个.c源文件的Makefile按照网上的大部分资料介绍那样是没有问题的,多个源文件的内核模块编程时,就出现问题了,自己纠结...
  • u010560290
  • u010560290
  • 2015年03月26日 11:32
  • 1155

Linux 驱动开发之内核模块开发 (二)—— 内核模块编译 Makefile 入门

一、模块的编译        我们在前面内核编译中驱动移植那块,讲到驱动编译分为静态编译和动态编译;静态编译即为将驱动直接编译进内核,动态编译即为将驱动编译成模块。 而动态编译又分为两种: a -- ...
  • zqixiao_09
  • zqixiao_09
  • 2016年03月09日 20:15
  • 2731

利用makefile将添加的资源文件编译到Android系统中

利用makefile编译新增资源文件
  • Le_773
  • Le_773
  • 2016年05月28日 21:02
  • 458

linux编译单独一个模块makefile写法

单个文件编译一个模块: [html] view plaincopyprint? ifneq ($(KERNELRELEASE),)    obj-m := mini2440...
  • peijian1998
  • peijian1998
  • 2014年06月27日 15:13
  • 257

Makefile之编译可装载模块 -obj-m

http://fongzhiye.blog.163.com/blog/static/202836152201211110159695/ 编译可装载模块 - obj-m    ...
  • wuxianglonghaohao
  • wuxianglonghaohao
  • 2014年10月09日 11:45
  • 1015

linux设备驱动makefile入门解析

linux设备驱动makefile入门解析 对于一个普通的linux设备驱动模块,以下是一个经典的makefile代码,使用下面这个makefile可以 完成大部分驱动的编译,使用时只需要...
  • a746742897
  • a746742897
  • 2016年08月24日 15:07
  • 644
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:模块编译Makefile解析
举报原因:
原因补充:

(最多只允许输入30个字)