下载后可任意编辑Makefile 文件的写作方法1Makefile 文件介绍1.1 Makefile 文件的作用一般情况下,源文件首先会生成中间目标文件,即 Object File,再由中间目标文件生成执行文件。把源文件编译成中间代码文件,这个动作叫做编译(compile)。在 Windows下也就是 .obj 文件,UNIX 下是 .o 文件,即 Object File,在编译时,编译器只检测程序语法,和函数、变量是否被声明。只要所有的语法正确,编译器就可以编译出中间目标文件。一般来说,每个源文件都应该对应于一个中间目标文件(O 文件或是 OBJ 文件)。把大量的 Object File 合成执行文件,这个动作叫作链接(link)。在链接程序时,主要是链接函数和全局变量,链接器会在所有的中间目标文件(Object File)中找寻函数的实现。在 Unix 下的软件编译,一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因此 makefile 关系到了整个工程的编译规则。1.2 Makefile 文件的指定默 认 的 情 况 下 , make 命 令 会 在 当 前 目 录 下 按 顺 序 找 寻 文 件 名 为 “GNUmakefile”、“makefile”、“Makefile”的文件,找到了解释(执行)这个文件。你 可 以 使 用 别 的 文 件 名 来 书 写Makefile , 比 如 : “Make.Linux”,“Make.Solaris”,“Make.AIX”等,假如要指定特定的Makefile,你可以使用 make 的“–f”和“–file”参数,如:make –f Make.Linux 或 make –file Make.AIX。1.3 Makefile 目标的指定一般来说(默认情况下),make 的最终目标是 Makefile 中的第一个目标,而其他的目标一般是由这个目标连带出来的。可以直接指定目标,让 make 完成你所指定的目标。有一个 make 的环境变量是“MAKECMDGOALS”,这个变量会存放指定的终极目标列表,假如在命令行上没有指定目标,这个变量时空值。指定目标,如:make clean1.4 Makefile 的工作方式GNU 的 make 工作时的执行步骤入下:1、读入所有的 Makefile。下载后可任意编辑2、读入被 include 的其它 Makefile。3、初始化文件中的变量。4、推导隐晦规则,并分析所有规则。5、为所有的目标文件创建依赖关系链。6、根据依赖关系,决定哪些目标要重新生成。7、执行生成命令。前五步为...