您的位置:首页 > 其它

makefile的规则

2011-07-19 19:53 162 查看
1.makefile必须中的命令必须以tab键开头
规则告诉make两件事,文件的依赖关系和如何生成目标文件
一般来说,make会以unix的标准shell,也就是/bin/sh来执行命令
通配符的使用:
波浪号("~")字符在文件名中也有比较特殊的用途,如果是"~/test",这就表示当前用户的$HOME目录下的test目录.而"~hchen/test"则表示用户hchen的宿主目录下的test目录.(这些都是unix下的小知识了,make也会支持)而在windows下,用户是没有宿主目录,那么波浪号所指的目录则根据环境变量"HOME"而定.
如果我们的文件名中有通配符,如"*",那么可以用转义字符"\",如"\*"来表示真实的"*"字符,而不是任意长度的字符串.
makefile文件中的特殊变量"VPATH"就是完成这个功能的,如果没有指明这个变量,make只会在当前的目录中去找寻依赖文件和目标文件.如果定义了这个变量,那么,make就会在当前目录找不到的情况下,到指定的目录中去找寻文件了.
VPATH = src:../headers
上面的定义指定两个目录,"src"和"../header",make会按照这个循序进行搜索.目录由冒号分隔.(当然,当前目录永远是最高优先搜索的地方)
另一个设置文件搜索路径的方法是使用make的"vpath"关键之(注意,它是全小写的),这不是变量,这是一个make关键字,这和上面提到的那个VPATH变量很类似,但是它更为灵活.它可以指定不同的文件在不同的搜索目录中.这是一个很灵活的功能.它的使用方法有三种:
1. vpath <pattern>; <directories>;
为符合模式<pattern>;的文件指定搜索目录<directories>;.
2.vpath <pattern>;
清除符合模式<pattern>;的文件搜索目录.
3.vpath
清除所有已被设置好了的文件搜索目录
vpath使用的方法中的<pathern>;需要包含"%"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: