通过一个Makefile文件案例来了解Makeifle
这个例子是从《GNU make中文手册》(徐海兵译著)上拿来的,书上附了一个网站链接,但是好像访问不了(可能要***),我就把链接附上吧: http://xhbdahai.cublog.cn
首先书写时,可以将一个较长行使用反斜线(\)来分解为多行,这样可以使我们
的Makefile书写清晰、容易阅读理解。但需要注意:反斜线之后不能有空格(这也是大
家最容易犯的错误,错误比较隐蔽)。
这个例子中的第一条规则就因为规则的依赖比较长,所以使用了反斜线()
命令行必需以[Tab]键开始,以和Makefile其他行区别。 就是说所有的命令行必需以[Tab] 字符开始,但并不是所有的以[Tab] 键出现行都是命令行。但make 程序会把出现在第一条规则之后的所有以[Tab] 字符开始的行都作为命令行来处理。
这个例子中的最终目标就是生成可执行文件edit,我们可以从第一条规则中看到,需要生成edit可执行文件的依赖文件有哪些,而make命令一开始没有找到这些文件,就会往下搜索,先生成那些可以生成的文件(中间目标),最终执行完所有规则之后,万事俱备就可以生成edit了。
最后,有一个伪目标:clean,这个目标没有依赖,因为它只需要执行一条命令即可,就是rm,删除掉所有中间过程中生成的.o文件, 甚至edit。想要这么做就直接在shell下执行make clean命令就行了。