本文通过例子介绍makefile最简单的使用,其他的规则或简化等不在本文范围中。
假如我们编写了一个文件main.c,我们编译最常用的方法就是gcc -o main main.c,
但一个项目不能只有一个文件,对于这许多文件,我们该如何去编译呢?
于是程序员们使用一个工具去编译,这就是make,当程序有变动时,只需敲写make,回车即可。
为了执行make,我们要为项目编写一个很重要的文件Makefile。
假如我们只有两个文件a.c和b.c,我们可以这样编写Makefile:
ab:a.o b.o
gcc a.o b.o -o ab
a.o:a.c b.h
gcc -c a.c -o a.o
b.o:b.c b.h
gcc -c b.c -o b.o
clean:
rm -rf *.o ab
简单说明:
Makefile的格式:
target:components
rule
第一行为依赖,第二行为规则,注意规则前要有一个tab缩进。
clean是用来执行make clean使用的。
ab依赖a.o和b.o,a.o又依赖a.c等。
如果有很多文件,如果不嫌麻烦,罗列所有的就可以了。