在构建大型工程的时候,如果有很多源文件,构建过程会很复杂,需要借助Makefile来完成。
一,Makefile中的规则
Makefile使用规则来描述文件之间的依赖关系,构建目标。规则包含3项内容,目标、依赖、命令。
实验1,一个包含两个源文件的Makefile。
app: aaa.c bbb.c
gcc -o app aaa.c bbb.c
以上的所有内容是一条规则,第一行中冒号前的app是目标,冒号之后的内容aaa.c bbb.c是依赖。第二行的内容是命令,命令之前是一个tab键。
Make在两种情况下会执行规则中的命令,一是目录下没有目标文件app,二是目标文件app的修改时间比依赖中的的修改时间早。
二,使用Makefile提高编译效率。
实验1的Makefile的缺点是,改动任意一个源文件,会导致所有源文件被重新编译。在包含许多源文件的大型工程中,编译效率不高,可通过以下方法改进。
<