下载此文档

万能makefile写法详解.doc


文档分类:外语学习 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
“万能 makefile ”写法详解,一步一步写一个实用的 makefile ,详解 sed 's,\($*\)\.o[ :]*,\ $@ :,g'< $***@.$$$$ > $@; \一目的:编写一个实用的 makefile ,/.cpp 源文件,支持二者混合编译。/.cpp 、.h或依赖的源文件被修改后,仅重编涉及到的源文件,未涉及的不编译。二要达到这个目的,用到的技术有: 1-使用 wildcard /.cpp 文件的列表。 2-make 的多目标规则。 3-make 的模式规则。 4-用 gcc -MM /.cpp 文件 include 了哪些文件。 5-用 sed 命令对 gcc -MM 命令的结果作修改。 6-用 include 。三准备知识(一)多目标对 makefile 里下面 2行,可看出多目标特征,执行 make bigoutput 或 make littleoutput 可看到结果: [html] view plain copy 1. bigoutput littleoutput: 2. ***@echo $@ $(subst output,OUTPUT,$@) $^#$@ 指这个规则里所有目标的集合, $^指这个规则里所有依赖的集合。该行是把目标( bigoutput 或 littleoutput )里所有子串 outpu t 替换成大写的 OUTPUT (二)隐含规则对 makefile 里下面 4行,可看出 make 的隐含规则,执行 foo 可看到结果: 第3、,第 1、。如果把第 3、4行注释的话,效果一样。,它会自动执行 gcc -c -o 这条命令,( 其中-c表示只编译不链接),然后自动执行 gcc -o foo 链接为可执行文件。[html] view plain copy 1. foo: 2. gcc -o foo ; ./foo 3. : #注释该行看效果 4. gcc -c -o #注释该行看效果(三)定义模式规则下面定义了一个模式规则,。[html] view plain copy 1. foobar: 2. ***@plete generate and 3. %.d: %.c #make ,依次做一次里面的命令,。 4. ***@echo from $< to$@ 5. g++ -MM $<>$@ 假定当前目录下有 : 和 (文件内容随意)。验证方法有 2种,都可: 1-运行 make ( 或 make ) ,表示想要生成 这个目标。根据规则%.d: %.c ,这时%匹配 foo ,这样%.c 等于 ,即 这个目标依赖于 。此时会自动执行该规则里的命令 g

万能makefile写法详解 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小162 KB
  • 时间2017-02-20