make的简单使用个人整理篇.doc

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

make的简单使用个人整理篇 格式: 目标 〔属性。。。〕 分隔符 〔依赖文件〕 〔;命令菜单〕 { 制表符 命令菜单} makefile 根据符号 tab 来辨认命令 make 命令的运行格式: make 〔 option 〕 〔 macrodef 〕 〔 target 〕 make 将使用默认的 makefile 或 Makefile 作为配置文件 也可以指定配置文件,用参数- f 例如: make –f test1.mk Option指出make的工作行为,make的具体选项有: -c dir make在开始运行后的工作目录为指定目录 -e 不允许在makefile中队环境的宏赋值 -f filename 使用指定的文件作makefiel -k 执行命令出错时,放弃改目标去维护其它目标 -n 按实际运行时的执行顺序现实命令,包括用@开头的命令,但不振的执行 -p -现实makefile中所有的宏定义,河内部规则 -r 忽略内部规则 -s 执行但不显示命令,常用来检查makefile的正确性 -S 执行make时 出错即退出 -t 修改每个目标文件的创建日期,但又不正的创建 -V 打印make的版本号 -x 将所有的宏定义输出的shell环境中 -i  忽略运行make 中的错误,而又不退出make make 按规则中的依赖文件依次从左到右检查,除非依赖文件为源文件,否则 make 将递归方式检查该依赖文件的依赖文件。 可以用 touch 命令强行修改文件的修改时间 可以使用变量(宏)来缩减 makefile 的文件大小 定义: CC=gcc 引用: $(CC) %o:%c $(COMPILE) –o $@ $ 可以同时使用多个依赖文件匹配多个目标文件 例如: io.o init.o:muprogram.h 配合上面的规则,执行命令,表示该目标文件还同时依赖于 muprogram.h 文件 可以使用特殊的目标文件( clean ) 例如: clean: -rm $(OBJS) make 不会自动执行 clean 目标, clean 也没有任何依赖文件 makefile 文件中的分隔符: ::表示目标文件将多次出现。使用“:”时, make 规定目标文件只能出现一次 : ^ 将指定的依赖文件和目标文件已有的依赖文件合并起来,作为新的依赖文件列表 :-清除原有的依赖文件,将新的依赖文件列表作为目标的文件列表 :!对每个更新过的依赖文件都执行一次命令菜单 : | 只在内部规则中使用??? Makefile 文件中的命令行属性: 默认情况下,系统执行每条命令,打印该命令,如果在运行命令时出错,就会退出 make 命令行属性的选项: - 忽略该行的错误,继续执行下一命令 + 强行执行该命令 @ 不显示命令行 makefile 文件中的目标文件属性: 格式 1 : 属性 1 属性 2 。。。:目标文件 1 目标文件 2 。。。 格式 2 : 目标文件 属性 1 属性 2 。。。: 常见的几种属性: .IGNORE 忽略错误,继续执行 .SILENT 不现实目标文件下的命令行 .PRECIOUS 保留中间目标文件。默认情况下,退出 make 时,系统将自动删除临时的中间目标文件。 伪目标选项: 伪目标 就是程序执行的一些与目标文件本身没有直接关系的辅助性操作。 1. 自定义伪目标 要求系统中没有重名的文件 2. 内部伪目标 .ERROR: 依赖文件 1 。。。 当执行错误时,显示错误信息,并完成简单的错误处理 .INCLUDE: makefile 文件 1 。。。 当执行到该伪目标时,插入其他 makefile 文件的内容,并且执行该内容。 例如: .INCLUDE : make.mk 当其他 makefile 文件不在同一目录下,使用格式: .INCLUDE:dir1 dir2 … 或 .INCLUDE:dir/file .IMPORT: 宏名 1 。。。 在环境变量中查找宏名,并使用。不需要命令行 make 本身定义了一个依赖文件 .EVERYTHING 可以使用环境中的所以宏定义,而不需要逐一列出宏名。 例如: .IMPORT:.EVERYTHING .EXPORT: 宏名 1 。。。 导出宏名到环境文件中 .SETDIR = path 指

文档评论(0)

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

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

1亿VIP精品文档

相关文档