makefile 学习的点滴总结-(3)

目录

1、变量"VPATH",一般搜索。

2、关键字"vpath",选择性搜索。

3、库文件的搜索规则

4、强制目标

///////////////////////////////////////////////////////////////////////////////////////////////////////

1、VPATH用于指定搜索路径,用"空格"或者":"进行分隔。如:

VPATH = src:../headers

在搜索当前目录后搜索指定的两个路径:src和../headers

////////////////////////////////////////////////////////////////////////////////////////////////////////

2、vpath %.h ../headers
 
其含义是:Makefile 中出现的.h 文件;如果不能在当前目录下找到,则到目录
“../headers ”下寻找。

////////////////////////////////////////////////////////////////////////////////////////////////////////

3、库文件的搜索规则

(1) 当前目录下搜索

(2)在VPATH或者vpath下搜索

(3)在系统库文件存在的默认目录,顺序是:“/lib ”、“/usr/lib ”和“PREFIX/lib ”(在
        Linux 系统中为“/usr/local/lib”,其他的系统可能不同)。

////////////////////////////////////////////////////////////////////////////////////////////////////////

4、强制目标 

clean: FORCE
   rm $(objects)
 FORCE:

目标不是一个文件名,在执行规则时总是被认为是最新的,因此作为依赖的规则定义的命令总是被执行。

////////////////////////////////////////////////////////////////////////////////////////////////////////

 5、空目标

空目标的依赖文件被改变以后,空目标所在的规则命令就会被执行:

print: foo.c bar.c
  lpr -p $?
  touch print

命令“lpr –p $? ”  打印这个被修改的文件

////////////////////////////////////////////////////////////////////////////////////////////////////////

 

 

 

 

posted @ 2013-11-27 11:32  tony7373  阅读(143)  评论(0编辑  收藏  举报