Makefile 简介
读者经常看到一个C程序的项目常常由很多的文件组成,那么,多文件的好处到底在哪里呢?一个最简单也最直接有力的理由就是,这样可以将一个大项目分成多个小的部分,独立开来,利于结构化管理。在修改和维护的时候,优势就更明显了。例如,需要对代码做一点小的改动,如果这个项目所有的代码都在一个文件中,那么就要重新编译所有这些代码,这是很耗时的,不仅效率低,而且维护难度更大。但是,如果是多个不同的文件,那么只需要重新编译这些修改过的文件就行了,而且其他源文件的目标文件都已经存在,没有必要重复编译,这样就会快捷很多。
因此,通过合理有效的划分,将一个项目分解为多个易于处理的文件,是非常明智的做法。多文件的管理方式非常正确的选择。
一个工程中的源文件不计其数,按其类型、功能、模块分别放在若干个目录中。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作(因为makefile就像一个shell脚本一样,可以执行操作系统的命令)。
makefile带来的好处就是——“自动化编译”,一但写好,只需要一个make命令,整个工程完全编译,极大的提高了软件的开发效率。make是一个命令工具,是一个及时makefile中命令的工具程序。
make工具最主要也是最基本的功能就是根据makefile文件中描述的源程序至今的相互关系来完成自动编译、维护多个源文件工程。而makefile文件需要按某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,要求定义源文件之间的依赖关系。
实验目的:
学会编写Makefile。
实验要求:
实现一应用程序,该程序由两个c文件组成,使用makefile来完成文件的编译。
实验步骤:
1.用vi编译两个c文件文件fun.c内容如图,
文件main.c内容如图,
文件fun.h内容如图,
2.使用gcc编译命令直接编译生成可执行文件main并运行查看结果,如图,
命令:
gcc fun.c main.c -o main
3.用vi编辑makefile内容如图,
4.退出并保存,在shell中键入make,查看并运行产生可执行文件main,如图,
5.用vi打开makefile进行改写,用变量进行替换,如图,
退出保存后,在shell中执行make和make clean命令的效果和前面第4步效果是一样的。
6.改写makefile,使用自动变量,改写后情况如图,
退出保存后,在shell中执行make和make clean命令的效果和前面效果是一样的。
7.改写makefile,使用隐式规则,改写后如图,
退出保存后,在shell中执行make和make clean命令的效果和前面效果是一样的。
8.改写makefile,使用隐式规则,改写后如图,
退出保存后,在shell中执行make和make clean命令的效果和前面效果是一样的。
学习时间 97分钟
操作时间 24分钟
按键次数 135次
实验次数 2次
报告字数 1603字
是否完成 完成