Makefile之文件搜索

Makefile之文件搜索

1.Makefile 文件中的"VPATH"变量

  如果没有指明这个变量,make只会在当前目录下查找依赖文件和目标文件;

  如果定义了这个变量,make会先在当前目录下找不到的情况下,到此变量所指定的目录中去寻找;

  VPATH = src :  ../headers;

  目录之间使用“ : ”隔离开;

2.Makefile文件中的“vpath”关键字

  这个“vpath”是关键字不是变量,区别于"VPATH";

  三种使用方法:

  1)、vpath <pattern> <directories>
    为符合模式<pattern>的文件指定搜索目录<directories>。
  2)、vpath <pattern> 
    清除符合模式<pattern>的文件的搜索目录。
  3)、vpath
    清除所有已被设置好了的文件搜索目录。

    vapth 使用方法中的<pattern>需要包含“%”字符。“%”的意思是匹配零或若干字符,
    例如,“%.h”表示所有以“.h”结尾的文件。<pattern>指定了要搜索的文件集,而
    <directories>则指定了<pattern>的文件集的搜索的目录。

  例如:
    vpath %.h ../headers
    该语句表示,要求 make 在“../headers”目录下搜索所有以“.h”结尾的文件。(如果某文件在当前目录没有找到的话)