Make
约 454 个字 15 行代码 预计阅读时间 2 分钟
Reference
Rules¶
- 可以使用通配符
* ? ~
和 变量$( … )
-
文件搜寻
大型工程中源文件会分类存放在不同目录,为文件添加路径让make自动去找
- 特殊变量
VPATH
-
关键字
vpath
(注意,它是全小写的),这不是变量,这是一个make的关键字,这和上面提到的那个VPATH变量很类似,但是它更为灵活。它可以指定不同的文件在不同的搜索目录中。这是一个很灵活的功能。它的使用方法有三种:path <pattern> <directories>
为符合模式
的文件指定搜索目录 。 vpath <pattern>
清除符合模式
的文件的搜索目录。 vpath
清除所有已被设置好了的文件搜索目录。
vpath使用方法中的
<pattern>
需要包含%
字符。%
的意思是匹配零或若干字符,(需引用%
,使用\
) 例如,%.h
表示所有以.h
结尾的文件。指定了要搜索的文件集,而 则指定了< pattern>的文件集的搜索的目录。 例如:
- 特殊变量
-
伪目标
“伪目标”并不是一个文件,只是一个标签,由于“伪目标”不是文件,所以make无法生成它的依赖关系和决定它是否要执行。我们只有通过显式地指明这个“目标”才能让其生效。当然,“伪目标”的取名不能和文件名重名,不然其就失去了“伪目标”的意义了。
为了避免和文件重名的这种情况,我们可以使用一个特殊的标记“.PHONY”来显式地指明一个目标是“伪目标”,向make说明,不管是否有这个文件,这个目标就是“伪目标”。
目标也可以成为依赖。所以,伪目标同样也可成为依赖。看下面的例子: