Makefile中的依赖关系
在一些大的工程中,有大量的源文件,我们通常的做法是把这许多的 源文件分类,并存放在不同的目录中。当 make 需要去找寻文件的依赖关系时,你可以在文件前加上路径,但最好的方法是把一个路径告诉 make,让 make 自己去找。
有两种方法:
1.使用特殊变量“VPATH”
eg:
#如果没有这条语句,就只会在当前目录去搜寻依赖和目标文件
#有了这条语句之后,make 就会在当当前目录找不到的 情况下,到所指定的目录中去找寻文件。
VPATH = src:../headers
#这条语句的意思是如果在当前目录找不到,就在src目录和..//headers目录下去寻找
#:(冒号)是为了分割目录
2、使用vpath关键字
方式和VPATH特殊变量差不多
使用方法有三种
1、vpath
为符合模式的文件指定搜索目录。
2、vpath
清除符合模式的文件的搜索目录。
3、vpath
清除所有已被设置好了的文件搜索目录。
vpath %.h ../headers
#该语句表示,要求 make 在“../headers”目录下搜索所有以“.h”结尾的文件。(如果某文件在当前目录没有找到的话)
vpath %.c foo:bar vpath % blish
#而上面的语句则表示“.c”结尾的文件,先在“foo”目录,然后是“bar” 目录,最后才是“blish”目录。