关于Makefile自动化变量

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

猜你喜欢

转载自www.cnblogs.com/cloneycs/p/12307993.html