首页 理论教育 Linux系统编程|make和makefile解析

Linux系统编程|make和makefile解析

时间:2023-11-16 理论教育 版权反馈
【摘要】:makefile文件主要包含了5部分内容:显式规则。由于make有自动推导的功能,所以隐式的规则可以实现比较粗糙地简略书写makefile文件,这是由make所支持的。当makefile文件执行时,其中的变量都会扩展到相应的引用位置上。其包括3个部分:一个是在一个makefile文件中引用另一个makefile文件;另一个是指根据某些情况指定makefile文件中的有效部分;还有就是定义一个多行的命令。makefile文件中只有行注释,其注释用“#”字符。

Linux系统编程|make和makefile解析

makefile文件主要包含了5部分内容:

(1)显式规则。该规则说明了如何生成一个或多个目标文件,由makefile文件的创作者指出,包括要生成的文件、文件的依赖文件、生成的命令。

(2)隐式规则。由于make有自动推导的功能,所以隐式的规则可以实现比较粗糙地简略书写makefile文件,这是由make所支持的。

(3)变量定义。在makefile文件中要定义一系列的变量,变量一般都是字符串,这与C语言中的宏有些类似。当makefile文件执行时,其中的变量都会扩展到相应的引用位置上。

(4)文件指示。其包括3个部分:一个是在一个makefile文件中引用另一个makefile文件;另一个是指根据某些情况指定makefile文件中的有效部分;还有就是定义一个多行的命令。

(5)注释。makefile文件中只有行注释,其注释用“#”字符。如果要在makefile文件中使用“#”字符,可以用反斜框进行转义,如“\#”。

GNU的make工作时的执行步骤:

(1)读入所有的makefile文件。(www.xing528.com)

(2)读入被include包括的其他makefile文件。

(3)初始化文件中的变量。

(4)推导隐式规则,并分析所有规则。

(5)为所有的目标文件创建依赖关系链。

(6)根据依赖关系,决定哪些目标要重新生成。

(7)执行生成命令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈