- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
makefile调试
makefile调试 一个调试makefile文件的简便方法:那就是用make -p|tee make.out来输出make运行过程中产生的中间信息。 make -n 就可以输出调试 make 的运行 —————— 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make命令的。 一、make的退出码 make命令执行后有三个退出码: 0 —— 表示成功执行。 1 —— 如果make运行时出现任何错误,其返回1。 2 —— 如果你使用了make的“-q”选项,并且make使得一些目标不需要更新,那么返回2。 Make的相关参数我们会在后续章节中讲述。 二、指定Makefile 前面我们说过,GNU make找寻默认的Makefile的规则是在当前目录下依次找三个文件——“GNUmakefile”、“makefile”与“Makefile”。其按顺序找这三个文件,一旦找到,就开始读取这个文件并执行。 当前,我们也可以给make命令指定一个特殊名字的Makefile。要达到这个功能,我们要使用make的“-f”或是“--file”参数(“--makefile”参数也行)。例如,我们有个makefile的名字是“hchen.mk”,那么,我们可以这样来让make来执行这个文件: make –f hchen.mk 如果在make的命令行是,你不只一次地使用了“-f”参数,那么,所有指定的makefile将会被连在一起传递给make执行。 三、指定目标 一般来说,make的最终目标是makefile中的第一个目标,而其它目标一般是由这个目标连带出来的。这是make的默认行为。当然,一般来说,你的makefile中的第一个目标是由许多个目标组成,你可以指示make,让其完成你所指定的目标。要达到这一目的很简单,需在make命令后直接跟目标的名字就可以完成(如前面提到的“make clean”形式) 任何在makefile中的目标都可以被指定成终极目标,但是除了以“-”打头,或是包含了“=”的目标,因为有这些字符的目标,会被解析成命令行参数或是变量。甚至没有被我们明确写出来的目标也可以成为make的终极目标,也就是说,只要make可以找到其隐含规则推导规则,那么这个隐含目标同样可以被指定成终极目标。 有一个make的环境变量叫“MAKECMDGOALS”,这个变量中会存放你所指定的终极目标的列表,如果在命令行上,你没有指定目标,那么,这个变量是空值。这个变量可以让你使用在一些比较特殊的情形下。比如下面的例子: sources = foo.c bar.c ifneq ( $(MAKECMDGOALS),clean) include $(sources:.c=.d) endif 基于上面的这个例子,只要我们输入的命令不是“make clean”,那么makefile会自动包含“foo.d”与“bar.d”这两个makefile。 使用指定终极目标的方法可以很方便地让我们编译我们的程序,例如下面这个例子: .PHONY: all all: prog1 prog2 prog3 prog4 从这个例子中,我们可以看到,这个makefile中有四个需要编译的程序——“prog1”, “prog2”, “prog3”与 “prog4”,我们可以使用“make all”命令来编译所有的目标(如果把all置成第一个目标,那么只需执行“make”),我们也可以使用“make prog2”来单独编译目标“prog2”。 即然make可以指定所有makefile中的目标,那么也包括“伪目标”,于是我们可以根据这种性质来让我们的makefile根据指定的不同的目标来完成不同的事。在Unix世界中,软件发布时,特别是GNU这种开源软件的发布时,其makefile都包含了编译、安装、打包等功能。我们可以参照这种规则来书写我们的makefile中的目标。 “all” 这个伪目标是所有目标的目标,其功能一般是编译所有的目标。 “clean” 这个伪目标功能是删除所有被make创建的文件。 “install” 这个伪目标功能是安装已编译好的程序,其实就是把目标执行文件拷贝到指定的目标中去。 “print” 这个伪目标的功能是例出改变过的源文件。 “tar”
您可能关注的文档
- 《逍遥游》教学设计和反思(转载)_山泉在胸_新浪博客.doc
- 《错悟:现代企业经营“错案”国学解剖》第三章(向失败企业学习教训).doc
- 《道德经》蕴含教育思想.doc
- 《锡恩战略:来自姜汝祥观点》.doc
- 《青年创业当自强》中马云演讲话.doc
- 《面试官真切感受》个人整理要点.doc
- 《领导干部法律知识读本》 第七章 劳动与社会保障法律制度 练习答案.doc
- 《领导干部法律知识读本》 第九章 诉讼与非诉讼程序法律制度 练习答案2.doc
- 《食物消化》教学案例.doc
- 『 影 视 交 流 』 - 全国电影下载都在这里了.doc
- Mastercam与UG之心得、功能比较、技巧、及求职 - MasterCAM - iCAx开思论坛 - CAD-CAM-CAE-PDM-PLM专业技术.doc
- maya不同模块技术特征.doc
- MBA全套中文教程-生产和运作原理-第一部-data t0101.doc
- MBA《英语》模拟题(二)和答案.doc
- MBA全套中文教程-生产和运作原理-第一部-t0103.doc
- MBA全套中文教程-生产和运作原理-第三部-ttt0107.doc
- MBO是国企改制桥梁.doc
- Matlab控件回调函数编写和软件调试.doc
- mc我世界 服务器指令.doc
- MessageList_Windows编程常用消息集和功能说明.doc
最近下载
- 持续推动党的创新理论体系化学理化PPT坚持两个结合把握六个必须坚持PPT课件(带内容).pptx VIP
- 第五章幼儿园主题活动的环境创设.pptx VIP
- 中达a600变频器说明书.pdf VIP
- 校园欺凌与初中生心理健康教育的协同发展策略教学研究课题报告.docx
- 老板电器应收账款及优化探究.docx VIP
- 一种柔性翻身多功能护理轮椅床.pdf VIP
- 小学英语与初中英语教学的衔接教学研究课题报告.docx
- 2025【阶跃阻抗低通滤波器的电路模型构建及其参数探析12000字】.docx VIP
- 2025中国银河证券校园招聘5人笔试历年参考题库附带答案详解.docx VIP
- 参加活动的意义班会.pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)