Makefile中一些特殊符号的意义.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Makefile中一些特殊符号的意义

Makefile中一些特殊符号的意义 Posted on 2012-04-20 16:24 舒方小院 阅读(1021) 评论(0) 编辑 收藏 在makefile中,有时会接触到一些以特殊字符打头的命令,比如@, -, +,如果之前没有接触过的话,会感觉比较奇怪,其实,多是一些为了实现特定行为模式而引入的标记符。 ? 命令行以@打头的含义: 在执行到的时候不回显相应的命令内容,只显示命令的输出。 命令行以-打头的含义: 在执行到的时候如果发生错误(退出返回非零状态)时,不中断make过程。 命令行以+打头的含义:?makefile中以+开头的命令的执行不受到 make的-n,-t,-q三个参数的影响。我们知道,在make的时候,如果加上-n, -t, -q这样的参数,都是不执行相应命令的,而以+开头的命令,则无论make命令后面是否跟着三个参数,都会被执行。 ? 附:make命令参数 ? make的参数? 下面列举了所有GNU?make?3.80版的参数定义。其它版本和产商的make大同小异,不过其它产商的make的具体参数还是请参考各自的产品文档。? “-b”? “-m”? 这两个参数的作用是忽略和其它版本make的兼容性。? “-B”? “--always-make”? 认为所有的目标都需要更新(重编译)。? “-C?dir;”? “--directory=dir;”? 指定读取makefile的目录。如果有多个“-C”参数,make的解释是后面的路径以前面的作为相对路径,并以最后的目录作为被指定目录。如:“make?–C?~hchen/test?–C?prog”等价于“make?–C?~hchen/test/prog”。? “—debug[=options;]”? 输出make的调试信息。它有几种不同的级别可供选择,如果没有参数,那就是输出最简单的调试信息。下面是options;的取值:? ????a?——?也就是all,输出所有的调试信息。(会非常的多)? ????b?——?也就是basic,只输出简单的调试信息。即输出不需要重编译的目标。? ????v?——?也就是verbose,在b选项的级别之上。输出的信息包括哪个makefile被解析,不需要被重编译的依赖文件(或是依赖目标)等。? ????i?——?也就是implicit,输出所以的隐含规则。? ????j?——?也就是jobs,输出执行规则中命令的详细信息,如命令的PID、返回码等。? ????m?——?也就是makefile,输出make读取makefile,更新makefile,执行makefile的信息。? “-d”? 相当于“--debug=a”。? “-e”? “--environment-overrides”? 指明环境变量的值覆盖makefile中定义的变量的值。? “-f=file;”? “--file=file;”? “--makefile=file;”? 指定需要执行的makefile。? “-h”? “--help”? 显示帮助信息。? “-i”? “--ignore-errors”? 在执行时忽略所有的错误。? “-I?dir;”? “--include-dir=dir;”? 指定一个被包含makefile的搜索目标。可以使用多个“-I”参数来指定多个目录。? “-j?[jobsnum;]”? “--jobs[=jobsnum;]”? 指同时运行命令的个数。如果没有这个参数,make运行命令时能运行多少就运行多少。如果有一个以上的“-j”参数,那么仅最后一个“-j”才是有效的。(注意这个参数在MS-DOS中是无用的)? “-k”? “--keep-going”? 出错也不停止运行。如果生成一个目标失败了,那么依赖于其上的目标就不会被执行了。? “-l?load;”? “--load-average[=load]”? “—max-load[=load;]”? 指定make运行命令的负载。? “-n”? “--just-print”? “--dry-run”? “--recon”? 仅输出执行过程中的命令序列,但并不执行。? “-o?file;”? “--old-file=file;”? “--assume-old=file;”? 不重新生成的指定的file;,即使这个目标的依赖文件新于它。? “-p”? “--print-data-base”? 输出makefile中的所有数据,包括所有的规则和变量。这个参数会让一个简单的makefile都会输出一堆信息。如果你只是想输出信息而不想执行makefile,你可以使用“make?-qp”命令。如果你想查看执行makefile前的预设变量和规则,你可以使用

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档