在Linux(UNIX)环境下使用GNU的Make工程管理器是用于自动编译、链接程序的实用工具。包含多个源文件的项目在编译时都有长而复杂的命令行。使用Make可以通过把这些命令行保存在Makefile文件中而简化这项工作。同时,使用Make还可以减少重新编译所需的时间,因为Make可以识别出那些修改的文件,而只编译这些文件。
Make是一个命令工具,它解释Makefile中的指令(在Makefile中称为规则)。Makefile文件则描述了整个工程所有源文件的编译顺序、编译规则以及编译方法;Makefile有自己的书写格式、关键字和函数;在Makefile中可以使用系统Shell所提供的命令(包括那些能够在Shell环境中运行的应用组件)来实现必要的操作。Makefile(在其他系统上可能是另外的文件名)也是绝大多数IDE开发环境的基础,已经成为一种工程编译方法。
Make从Makefile文件中获取模块间的依赖关系,判断哪些文件已经过时(所谓的过时,是指生成一个文件后,用来生成该文件的源文件或头文件被修改了,导致生成该文件所需的源文件或头文件的修改时间比生成该文件的时间晚)。根据这些信息,Make可以确定哪些文件需要重新编译,然后使用Makefile中的编译命令进行编译。
Make是一个Linux下的二进制程序,用来处理Makefile这种文本文件。在Linux的Shell命令行键入Make时,将自动寻找名称为“Makefile”的文件作为编译文件。如果没有名称为“Makefile”的文件,将继续查找名称为“makefile”的文件。找到编译文件后,Make工具将根据Makefile中的第一个目标自动寻找依赖关系,找出这个目标所需要的其他目标。如果所需要的目标也需要依赖其他的目标,Make工具将一层层地寻找,直到找到最后一个目标为止。Make工具的使用格式为
(www.xing528.com)
options为Make工具的选项;target为Makefile中指定的目标。表5-10给出了Make工具的参数选项。
表5-10 Make工具的参数选项
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。