Chinaunix首页 | 论坛 | 博客
  • 博客访问: 714826
  • 博文数量: 165
  • 博客积分: 8218
  • 博客等级: 中将
  • 技术积分: 1749
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-07 19:48
文章分类

全部博文(165)

文章存档

2014年(4)

2011年(3)

2010年(6)

2009年(43)

2008年(109)

分类: LINUX

2008-12-10 10:56:26

#这里KERNELRELEASE是在kernel顶层Makefile中定义的一个变量,所以会直接跳过ifneq
ifneq ($(KERNELRELEASE),)
    obj-m := your_module_name.o  #说白了这里是编译发行版的内核用的
else
    #下面这句指定kernel源码的路径,通过shell命令($:uname -r)得到当前的kernel版本号
    KERNELSRC = /usr/src/linux-headers-$(shell uname -r)

modules:
    make -C $(KERNELSRC) SUBDIRS=$(PWD) $@ #SUBDIRS 是模块代码路径,在kernel顶层  #Makefile  中定义,PWD 也是在kernel顶层Makefile中定义,并通过shell命令 ($:pwd)获得的当前路径
clean:
    rm -f *.o *.ko *.mod.c *~
endif


其实也可以写成

KERNELSRC = /usr/src/linux-headers-$(shell uname -r)

modules:
    make -C $(KERNELSRC) SUBDIRS=$(PWD) $@
clean:
    rm -f *.o *.ko *.mod.c *~
阅读(983) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~