[转载]makefile规则
2009-05-13 14:05:49来源:未知 阅读 ()
1.简介 3
1.1.准备工作 3
1.2.Makefile介绍 3
1.3.规则简介 4
1.4.make工作原理 4
1.5.使用变量 5
1.6.简化命令 6
1.7.另一种风格 6
1.8.清理 7
2.Makefile 7
2.1.makefile名字 7
2.2.包含 8
2.3.‘MAKEFILE’变量 8
2.4.如何重新生成makefile 8
2.5.重载makefile 9
3.规则 9
3.1.例子 9
3.2.规则的语法 9
3.3.通配符 10
3.3.1.通配符的缺陷 10
3.3.2.wildcard函数 11
3.4.目录搜索 11
3.4.1.‘VPATH’ 11
3.4.2.选择性搜索 12
3.4.3.使用自动变量 12
3.4.4.目录搜索和隐含规则 12
3.5.PHONY目标 13
3.6.FORCE目标 14
3.7.空目标 14
3.8.内建的特殊目标 14
3.9.一个规则多个目标 15
3.10.一个目标多条规则 15
3.11.静态模式规则 16
3.11.1.语法 16
3.11.2.静态模式规则和隐式规则 17
3.12.双冒号规则 17
3.13.自动生成依赖关系 17
4.编写命令 18
4.1.回显 18
4.2.执行 19
4.3.并行执行 19
4.4.错误 19
4.5.中断make 20
4.6.递归使用 20
4.6.1.‘MAKE’变量 20
4.6.2.传递变量到子make 21
5.命令行参数 21
6.参考 25
6.1.指令 25
6.2.函数 26
6.3.自动变量 27
6.4.特殊变量 29
GNU Make使用
Make 程序最初设计是为了维护C程序文件防止不必要的重新编译。在使用命令行编译器的时候,修改了一个工程中的头文件,如何确保包含这个头文件的所有文件都得到编译?现在10机的版本生成是使用批处理程序,编译那些文件依赖于程序的维护者,在模块之间相互引用头文件的情况下,要将所有需要重新编译的文件找出来是一件痛苦的事情;在找到这些文件之后,修改批处理进行编译。实际上这些工作可以让make程序来自动完成,make工具对于维护一些具有相互依赖关系的文件特别有用,它对文件和命令的联系(在文件改变时调用来更新其它文件的程序)提供一套编码方法。Make工具的基本概念类似于Proglog语言,你告诉make需要做什么,提供一些规则,make来完成剩下的工作。
1.简介
make工作自动确定工程的哪部分需要重新编译,执行命令去编译它们。虽然make多用于C程序,然而只要提供命令行的编译器,你可以将其用于任何语言。实际上,make工具的应用范围不仅于编程,你可以描述任和一些文件改变需要自动更新另一些文件的任务来使用它。
1.1.准备工作
如果要使用make,你必须写一个叫做“makefile”的文件,这个文件描述工程中文件之间的关系,提供更新每个文件的命令。典型的工程是这样的:可执行文件靠目标文件来更新,目标文件靠编译源文件来更新。
Makefile写好之后,每次更改了源文件后,只要执行make就足够了,所有必要的重新编译将执行。Make程序利用makefile中的数据库和文件的最后修改时间来确定那个文件需要更新;对于需要更新的文件,make执行数据库中记录的命令。
可以提供命令行参数给make来控制那个文件需要重新编译。
1.2.Makefile介绍
Makefile文件告诉make做什么,多数情况是怎样编译和链接一个程序。
这里有一个简单的makefile,描述如何编译链接由8个C文件和3个头文件组成的一个编辑器:
edit : main.o kbd.o command.o display.o
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:INSTALL msttf
- ACL 疑问 2009-05-13
- 声卡好使了,庆贺一下。 2009-05-13
- 选择FreeBSD的中文编码 2009-05-13
- 见笑了,问一个很简单的问题 2009-05-13
- 在windows下 grub4dos硬盘安装 不解开iso 就差一步啊 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash