makefile简介 一个工程中的源文件不计其数(一个项目有有很多的文件),现在的项目基本都是按模块进行划分的,而这些模块存放在若干目录中。 makefile中定义了一系列的规则(这些规则定义了一
makefile简介一个工程中的源文件不计其数(一个项目有有很多的文件),现在的项目基本都是按模块进行划分的,而这些模块存放在若干目录中。 makefile中定义了一系列的规则(这些规则定义了一系列如何编译程序的操作,比如哪些文件需要编译、哪些临时文件需要及时的清除等),如此以来我们只需要通过make命令就可以一键编译源程序了。 所以常常说makefile带来的最大的好处就是"自动化编译",因为只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发效率。(以上用于可能不规范,是作者的理解) make简介make是一个命令工具,它能够解释Makefile文件中的指令,一般来说大多数IDE都具备这样的功能。 makefile的编写的规则makefile文件的命名: makefile 或者 Makefile makefile的规则: 三要素:目标 依赖 命令 格式==》
目标:最终要生成的文件(伪目标除外) 依赖:生成目标所需要的文件或目标(这里的目标是子目标) 命令:通过执行命令来操作依赖来生成目标 我们来看一个例子当前文件夹有如下5个文件 第一个版本的Makefile 第二个版本我们添加以下子目标 添加子目标的目的:
命令在执行前,需要先检查规则中的依赖是否存在
第三个版本我们通过自定义变量的方式 第四个版本我们通过makfile中的自动变量 第五个版本使用函数 makefile中主要使用的只要两个函数 wildcard ==》查找指定目录下的指定文件
patsubst ==》将指定目录下的什么文件后缀进行替换
第6个版本 加上仿函数 加上仿函数的目的: 对于makefile而言下面的规则全都是最终的目标提供服务的。 如果不是最终规则(第一个规则)所需要的依赖那么不会区执行。 但是通过伪目标就可以打破这个约定,一定会执行 |
2022-05-14
2021-11-29
2022-04-04
2021-11-25
2022-06-24