七、变量的使用
7.1、变量的基础运用
在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串。在Makefile中 执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。
变量的命名可以包含字符、数字和下划线(允许数字开头),但不能是“:、 #、 =”或是空字符。需要注意的是变量是对字母的大小写敏感的。
变量在声明的时候需要给与初值,在使用的时候需要在变量名前加上字符“$”,并使用小括号“()”or“{}”将变量包括起来,字符“$”在括号外。此时需要用真实的字符“$”的话,需要用字符“$$”来表示。变量会在使用它的地方精确地展开,实例如下:
objs = main.o demo.o common.o
test : $(objs) = main.o demo.o common.o
cc –o test $(objs) = main.o demo.o common.o
$(objs) = main.o demo.o common.o : common.h
7.2、变量的嵌套定义
变量除了可以用来代表一个字符串之外,其还可以用来代表一个变量。给一个变量赋的值是另一个变量的话,这个用于赋值的变量不一定是已经定义好了的值,且可以定义在文件的任何地方。实例如下:
demo1 = $(demo2)
demo2 = $(demo3)
demo3 = hello_world!
run_demo:
echo $(demo1)
当我们执行make run_demo后,打印出的值是“hello_world”,由此可见变量的嵌套定义可以使用后面的变量来进行定义。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117011.html