首页 > 技术文章 > 关于Makefile自动化变量

cloneycs 2020-02-15 17:40 原文

Makefile的自动化变量在管理大量源文件时是十分高效的,它可以避免Makefile管理大型工程时编写过于繁琐。

 

下面是常用的Makefile自动化变量及其释义。

 

$@

 表示目标文件集合,以空格分隔。生成目标时该变量会依次输出目标文件。

示例:

OBJ=first second third

$(OBJ):
    @echo $@

 其输出为:

first
second
third

 

$^

表示目标依赖文件集合,以空格分隔。生成目标时该变量会输出所有的依赖文件。

示例:

OBJ=first second third
SRC=one two three

$(OBJ):$(SRC)
     @echo $^

 其输出为:

one two three
one two three
one two three

 

$<

表示目标依赖文件的第一个文件。

示例:

OBJ=first second third
SRC=one two three

$(OBJ):$(SRC)
    @echo $<

 其输出为:

one
one
one

 

推荐阅读