gnu make 使用手册(中译版)

gnu make 使用手册(中译版)

ID:1355733

大小:259.93 KB

页数:97页

时间:2017-11-10

gnu make 使用手册(中译版)_第1页
gnu make 使用手册(中译版)_第2页
gnu make 使用手册(中译版)_第3页
gnu make 使用手册(中译版)_第4页
gnu make 使用手册(中译版)_第5页
资源描述:

《gnu make 使用手册(中译版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、GNUMakeversion3.79April2000RichardM.StallmanandRolandMcGrath1Make概述Make可自动决定一个大程序中哪些文件需要重新编译,并发布重新编译它们的命令。本版本GNUMake使用手册由RichardM.StallmanandRolandMcGrath编著,是从PaulD.Smith撰写的V3.76版本发展过来的。GNUMake符合IEEEStandard1003.2-1992(POSIX.2)6.2章节的规定。因为C语言程序更具有代表性,所以我们的例子基于C语言程

2、序,但Make并不是仅仅能够处理C语言程序,它可以处理那些编译器能够在Shell命令下运行的的各种语言的程序。事实上,GNUMake不仅仅限于程序,它可以适用于任何如果一些文件变化导致另外一些文件必须更新的任务。如果要使用Make,必须先写一个称为Makefile的文件,该文件描述程序中各个文件之间的相互关系,并且提供每一个文件的更新命令。在一个程序中,可执行程序文件的更新依靠OBJ文件,而OBJ文件是由源文件编译得来的。一旦合适的Makefile文件存在,每次更改一些源文件,在shell命令下简单的键入:make就能执

3、行所有的必要的重新编译任务。Make程序根据Makefile文件中的数据和每个文件更改的时间戳决定哪些文件需要更新。对于这些需要更新的文件,Make基于Makefile文件发布命令进行更新,进行更新的方式由提供的命令行参数控制。具体操作请看运行Make章节。1.1怎样阅读本手册如果你现在对Make一无所知或者你仅需要了解对make的普通性介绍,请查阅前几章内容,略过后面的章节。前几章节是普通介绍性内容,后面的章节是具体的专业、技术内容。如果你对其它Make程序十分熟悉,请参阅GNUMake的特点和不兼容性和失去的特点部分

4、,GNUMake的特点这一章列出了GNUMake对make程序的扩展,不兼容和失去的特点一章解释了其它Make程序有的特征而GNUMake缺乏的原因。对于快速浏览者,请参阅选项概要、快速参考和内建的特殊目标名部分。1.2问题和BUG如果你有关于GNUMake的问题或者你认为你发现了一个BUG,请向开发者报告;我们不能许诺我们能干什么,但我们会尽力修正它。在报告BUG之前,请确定你是否真正发现了BUG,仔细研究文档后确认它是否真的按你的指令运行。如果文档不能清楚的告诉你怎么做,也要报告它,这是文档的一个BUG。在你报告或者

5、自己亲自修正BUG之前,请把它分离出来,即在使问题暴露的前提下尽可能的缩小Makefile文件。然后把这个Makefile文件和Make给出的精确结果发给我们。同时请说明你希望得到什么,这可以帮助我们确定问题是否出在文档上。一旦你找到一个精确的问题,请给我们发E-mail,我们的E-mail地址是:bug-make@gnu.org在邮件中请包含你使用的GNUMake的版本号。你可以利用命令‘make--version’得到版本号。同时希望你提供你的机器型号和操作系统类型,如有可能的话,希望同时提供config.h文件(该

6、文件有配置过程产生)。1Makefile文件介绍Make程序需要一个所谓的Makefile文件来告诉它干什么。在大多数情况下,Makefile文件告诉Make怎样编译和连接成一个程序。本章我们将讨论一个简单的Makefile文件,该文件描述怎样将8个C源程序文件和3个头文件编译和连接成为一个文本编辑器。Makefile文件可以同时告诉Make怎样运行所需要的杂乱无章的命令(例如,清除操作时删除特定的文件)。如果要看更详细、复杂的Makefile文件例子,请参阅复杂的Makefile文件例子一章。当Make重新编译这个编辑

7、器时,所有改动的C语言源文件必须重新编译。如果一个头文件改变,每一个包含该头文件的C语言源文件必须重新编译,这样才能保证生成的编辑器是所有源文件更新后的编辑器。每一个C语言源文件编译后产生一个对应的OBJ文件,如果一个源文件重新编译,所有的OBJ文件无论是刚刚编译得到的或原来编译得到的必须从新连接,形成一个新的可执行文件。1.1规则的格式一个简单的Makefile文件包含一系列的“规则”,其样式如下:目标(target)…:依赖(prerequiries)…命令(command)……目标(target)通常是要

8、产生的文件的名称,目标的例子是可执行文件或OBJ文件。目标也可是一个执行的动作名称,诸如‘clean’(详细内容请参阅假想目标一节)。依赖是用来输入从而产生目标的文件,一个目标经常有几个依赖。命令是Make执行的动作,一个规则可以含有几个命令,每个命令占一行。注意:每个命令行前面必须是一个Tab字符,即命令行第一个字

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。