Chinaunix首页 | 论坛 | 博客
  • 博客访问: 810501
  • 博文数量: 281
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2770
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 19:45
个人简介

邮箱:zhuimengcanyang@163.com 痴爱嵌入式技术的蜗牛

文章分类
文章存档

2020年(1)

2018年(1)

2017年(56)

2016年(72)

2015年(151)

分类: LINUX

2015-11-05 22:29:58

Makefile文件分析:


点击(此处)折叠或打开

  1. #General Purpose Makefile for Linux Kernel module
  2.   
  3. KERN_DIR = /work/system/linux-kernel-2.6.22.6
  4. #KERN_DIR = /usr/src/$(shell uname -r)
  5. #KERN_DIR = /lib/modules/$(shell uname -r)/build
  6.   
  7. all:
  8.     make -C $(KERN_DIR) M=$(shell pwd) modules
  9.   
  10. clean:
  11.     make -C $(KERN_DIR) M=$(shell pwd) modules clean
  12.     rm -rf modules.order
  13.   
  14. obj-m += xxx.o


第3行:
KERN_DIR表示内核源码目录,这种方式适用于嵌入式开发的交叉编译,KERN_DIR目录中包含了内核驱动模块所需要的各种头文件及依赖。若在PC机开发内核模块则应使用第4、5行的写法。
第8行:
-C 表示指定进入指定的目录,即KERN_DIR,是内核源代码目录,调用该目录顶层下的Makefile,目标为modules
M=$(shell pwd)选项让该Makefile在构造modules目标之前返回到模块源代码目录并在当前目录生成obj-m指定的xxx.o目标模块。

第10行:
clean这个目标表示将模块清理掉。
第14行:
obj-m += xxx.o即指定当前目录要生成的目标模块,然后modules目标指向obj-m变量中设定的模块。
阅读(501) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~