CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

谁能帮我解析一下这个MAKEFILE是怎么写的

楼主betterzy(杨明)2006-03-20 11:26:14 在 Linux/Unix社区 / 程序开发区 提问

 
  #   To   build   modules   outside   of   the   kernel   tree,   we   run   "make"  
  #   in   the   kernel   source   tree;   the   Makefile   these   then   includes   this  
  #   Makefile   once   again.  
  #   This   conditional   selects   whether   we   are   being   included   from   the  
  #   kernel   Makefile   or   not.  
  ifeq   ($(KERNELRELEASE),)  
   
          #   Assume   the   source   tree   is   where   the   running   kernel   was   built  
          #   You   should   set   KERNELDIR   in   the   environment   if   it's   elsewhere  
          KERNELDIR   ?=   /lib/modules/$(shell   uname   -r)/build  
          #   The   current   directory   is   passed   to   sub-makes   as   argument  
          PWD   :=   $(shell   pwd)  
   
  modules:  
  $(MAKE)   -C   $(KERNELDIR)   M=$(PWD)   modules  
   
  modules_install:  
  $(MAKE)   -C   $(KERNELDIR)   M=$(PWD)   modules_install  
   
  clean:  
  rm   -rf   *.o   *~   core   .depend   .*.cmd   *.ko   *.mod.c   .tmp_versions  
   
  .PHONY:   modules   modules_install   clean  
   
  else  
          #   called   from   kernel   build   system:   just   declare   what   our   modules   are  
          obj-m   :=   hello.o   hellop.o   seq.o   jit.o   jiq.o   sleepy.o   complete.o   \  
                            silly.o   faulty.o   kdatasize.o   kdataalign.o  
  endif  
   
  ////////////////////////////////////  
  ifeq   ($(KERNELRELEASE),)是什么意思啊?最好谁能帮我讲讲整个MAKLE是怎么写的?  
   
  谢谢了  
   
   
  问题点数:100、回复次数:4Top

1 楼fierygnu(va_list)回复于 2006-03-20 14:47:35 得分 25

ifeq   ($(KERNELRELEASE),)是判断变量KERNELRELEASE是否为空。  
  标准的gnu   makefile文件。看gnu   make文档:  
  http://www.gnu.org/software/make/manual/html_mono/make.htmlTop

2 楼arden1019(CSCUM)回复于 2006-03-21 10:47:14 得分 25

100分哪,我给你个中文的地方看看:)  
   
  http://www.china-askpro.com/msg22/qa83.shtmlTop

3 楼morpheus1977()回复于 2006-03-23 14:39:34 得分 25

找个简单的makefile看看,然后遇到不懂就看看gnu   make文档。  
   
            这年头,主要工作是修改makefile.   能看懂就好Top

4 楼goodboy1881(积木)(谁都别拦着我在水源升星)回复于 2006-03-23 15:41:31 得分 25

这有啥看不懂的??确实没什么好说的。。。  
  这个make文件里面有几个目标  
   
  #编译一个module目标  
  modules:  
  $(MAKE)   -C   $(KERNELDIR)   M=$(PWD)   modules  
  #安装module  
  modules_install:  
  $(MAKE)   -C   $(KERNELDIR)   M=$(PWD)   modules_install  
   
  #清理掉已经编译好的文件  
  clean:  
   
  $(MAKE)   是取MAKE变量的值,剩下的字迹翻译翻译就好了,特别简单。  
   
  ----------------------------------------  
  http://blog.csdn.net/goodboy1881Top

相关问题

  • 帮忙,怎样写makefile文件!!!!???
  • 帮我解析一下SQL吧!
  • 请问在vc中用什么解析xml,我想在vc中写xml,大家帮忙指点一下!
  • 请问在vc中用什么解析xml,我想在vc中写xml,大家帮忙指点一下!
  • 哪位高手帮忙写段代码,读文本,解析出字段值即可,要求如下,谢谢!!
  • 帮忙,这个字符串解析过程如何写?在线等待,立即给分
  • 帮忙看makefile啊
  • 帮忙看个makefile
  • makefile??????????
  • makefile ??

关键词

  • 文件
  • gnu
  • kerneldir
  • kernelrelease
  • makefile
  • modules
  • pwd
  • ifeq
  • make
  • kernel

得分解答快速导航

  • 帖主:betterzy
  • fierygnu
  • arden1019
  • morpheus1977
  • goodboy1881

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo