作者:mobiledu2502860153 | 来源:互联网 | 2023-05-17 13:26
前两篇介绍了Makefile的基本语法和一些小技巧,如果你仅仅是为了了解Makefile的知识,那么就可以到此为止了。以下将介绍Makefile的细节综述,带领真正需要深刻了解Makefile的同
前两篇介绍了Makefile的基本语法和一些小技巧,如果你仅仅是为了了解Makefile的知识,那么就可以到此为止了。以下将介绍Makefile的细节综述,带领真正需要深刻了解Makefile的同志一步步修炼成仙。为了摆脱误人子弟的嫌疑,我贴出Makefiel手册,自行选择阅读。手册 提取码yaff
好的,下面是从入门到放弃教程。
下面的部分内容可能前面已经讲过,但是还是希望新手再次阅读,因为手册描述十分的清晰经典,另外,听说,Makefile编写出神入化,能够呼风唤雨,白日飞升 :)
-------------------------以下为正文
3.1 Makefile内容
完整的Makefile总共包括五部分内容:显式规则、隐含规则、变量定义、指示符和注释。
1. 显式规则:它描述了在何种情况下如何更新一个或者多个被称为目标的文件(Makefile 的目标文件)。书写 Makefile 时需要明确地给出目标文件、目标的依赖文件列表以及更新目标文件所需要的命令(有些规则没有命令,这样的规则只是纯粹的描述了文件之间的依赖关系)。
2. 隐含规则:它是make根据一类目标文件(典型的是根据文件名的后缀)而自动推导出来的规则。make根据目标文件的名,自动产生目标的依赖文件并使用默认的命令来对目标进行更新(建立一个规则)。
3. 变量定义:使用一个字符或字符串代表一段文本串,当定义了一个变量以后,Makefile后续在需要使用此文本串的地方,通过引用这个变量来实现对文本串的使用。
4. Makefile 指示符:指示符指明在 make 程序读取 makefile 文件过程中所要执行的一个动作。
1.读取一个文件,读取给定文件名的文件,将其内容作为makefile文件的一部分。
2.决定(通常是根据一个变量的得值)处理或者忽略Makefile中的某一特定部分。
3.定义一个多行变量
5. 注释:Makefile 中“#”字符后的内容被作为是注释内容(和 shell 脚本一样)处理。