学习LINUX资料MAKE讲义:深入理解makefile的重要性和作用

需积分: 0 8 下载量 49 浏览量 更新于2024-01-03 收藏 148KB DOC 举报
Make 是一个工具程序(utility),它指挥计算机系统执行“按原方案自动化编译” 任务。这是一个大致的定义,具体来说, make 读入一个称为 Makefile 的文件,文件中包含了关于源文件及如何将它们转换成可执行程序的信息。 在 LUNIX 操作系统环境下, Makefile 大部分时候是手工编写的,但也可以让诸如自动化工具的软件生成器(automake)和文件模板工具(m4)等程序来生成 Makefile,当然使用好这些工具太过于复杂的话,所以,让我们还是自行编写 Makefile 来控制软件的编译吧。 一般来说, Makefile 包含了如下一些信息: · 如何编译原文件。(例如:C 文件、yacc 文件、 等文件) · 程序文件有哪些。(例如:生成哪个可执行程序) · 相关程序是如何与源文件联系起来的。(例如:xxx.o 文件由 xxx.c 文件通过 xxx.h 形成) 下面将解释一下 Makefile 的依赖关系:对于每一个目标指定一组源文件。(targets.csv : souce1.csv source2.csv source3.csv)如果任何一个源文件发生了改变,那么这个目标将会被重新生成。这就是 Makefile 中最主要的一部分。 make 命令是 makefile 文件进行处理的命令,这是一个快速高效率的命令,因为 make 命令仅仅编译那些被修改了或新增了的文件,而没有变动急于触发大量的编译动作。在实际开发中使用 make 可以极大的提高开发效率和避免出错;对于一个项目的重新编译,make的处理速度是惊人的,也就是说,在一个大型的项目中,有些源文件修改了,如果用 IDE 来重新编译整个项目,需要几分钟甚至更长时间,而使用 make 可以很快完成整个项目的重新编译。所以最后不要忘了做 “make clean” 来清理一下。 总结一下,Makefile是一种自动编译指令的文件,控制着软件的编译、链接和安装等过程。通过make命令执行Makefile文件中定义的编译规则,可以实现项目代码的自动化编译、构建和部署。了解Makefile的作用和编写方法,对于提高程序员的专业水平和工程能力,具有重要的意义。
2011-12-15 上传