在linux系统上编译大一点的项目时,会用到make/makefile文件
1.make与makefile
利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。 而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。 而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。 因此,有效的利用make和makefile工具可以大大提高项目开发的效率。
make工具功能
利用make工具可以自动完成编译工作,这些工作包括:
如果修改了某几个源文件,则只重新编译这几个源文件
如果某个头文件被修改了,则重新编译所有包含该头文件的源文件
利用这种自动编译可以大大简化开发工作,避免不必要的重新编译。make工具通过一个称为Makefile的文件来完成并自动维护编译工作,Makefile文件描述了整个工程的编译、连接规则。
makefile工具功能
Makefile描述了整个工程的编译连接规则。makefile表明了目标文件和源文件的依赖关系和依赖方法
举个简单的例子:
在一个目录下创建一个源文件,创建一个makefile文件,makefile文件中添加目标文件与源文件依赖关系和依赖方法: