makefile中的vpath和搜索路径的问题


1)
在makefile中我们可以定义 GPATH,VPATH,vpath,请问这三条指令是一定要放在文件开头呢还是可以在任意的位置出现?如果是后者是否有适用范围的问题,比如

vpath 1(or other)
rule1 (包括target,prerequisite,command)
vparh 2
rule2

能这样用vpath吗?是不是vpath1 只作用于rule1,vpath2只作用于rule2?

2)
假设 A: B C
       xxx
     B: E D
       xxx
     C: F D H
       xxx
如果D E F H 在不同的目录,B,C开始是没有,会被生成放在哪个目录?如果B C已经有了,且在不同的目录,是不是会在原地更新?(原地不一定是当前目录)