Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530885
  • 博文数量: 118
  • 博客积分: 2575
  • 博客等级: 大尉
  • 技术积分: 1263
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-27 09:37
文章分类

全部博文(118)

文章存档

2017年(11)

2016年(8)

2015年(1)

2014年(9)

2013年(7)

2012年(38)

2011年(14)

2010年(18)

2009年(12)

分类: LINUX

2011-03-10 22:34:39


在书写Makefile的时候,将单独在一个目录中编译软件,以避免生成的中间文件散在源文件中,乱花了眼。vpath(VPATH)可以指定搜索目录。auto tools在编译树中生成Makefile时就使用了vpath命令,来达到前面我们所说的目的。

例子,目录结构
src
   file1.cpp file2.cpp
   Makefile
build
   Makefile
上面的结构中,src目录结构中的Makefile可以正常编写,如
all : file1.o file2.o
而build目录下的Makefile则使用如下规则
VPATH = ../src
include ../src/Makefile

在build目录下,进行make的时候,生成的中间文件就放在build目录下了。是不是很简单呢。

vpath与VPATH的区别在于VPATH指定全局的搜索路径,而vpath可以针对特定的文件搜索路径。vpath命令有三种形式:
vpath pattern path : 符合pattern的文件在path目录搜索。
vpath pattern      : 清除pattern指定的文件搜索路径
vpath              : 清除所有文件搜索路径。
阅读(11432) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2011-03-27 20:10:02

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com