今天就学学有关makefile中有关变量的内容(这周偷懒偷懒, 内容比较少)。
1.变量的使用:
- 变量的命名规则:数字字母下划线,但是不应该含有“: # = ”或者空字符(空格、回车等)
- 变量的大小写敏感
- 变量在声明时需要付初值,在使用时需要在变量名前加上$符号,最好使用()或者{}将变量给包括起来。
- 如果需要使用真实的$,那么你需要使用$$表示
2.变量赋值(= := ?= =+)
左侧是变量,右侧是变量的值,右侧变量的值可以定义在文件的任何一处,也就是说,在右侧变量中不一定非要使用已定义好的值,其也可以使用后面定义的值。
eg
foo=$(bar)
bar=$(ugh)
ugh=Huh?
all:
echo $(foo)
当我们执行 make all 将会打印出变量$(foo)的值“Huh?”
左侧是变量,右侧是变量的值,右侧变量的值只能定义在前面
eg
x:=foo
y:=$(x) bar
如果写成下面的样子:
y:=$(x) bar
x:=foo
那么y值只是 bar 而不是 foo bar
FOO?=bar
其含义是:如果变量FOO没有被定义过,那么变量FOO的值就是bar,如果FOO定义过了,则这条语句什么都不做。等价于
ifeq($(origin FOO),undefined)
FOO=bar
endif
变量的值作为变量
eg
x=y
y=z
z=u
a:=$($($(x)))
过程如下:
$(x)值y
将y作为变量
$(y)值z
将z作为变量
$(z)值u
所以
S(a)的值为u
复杂一点的例子:
first_second=Hello
a=first
b=second
all=$($a_$b)
过程如下:
$a:first
$b:second
所以
$a_$b组成“first_second”
故$all值为Hello
操作符:+=
eg.
objects=main.o foo.o bar.o
objects+=another.o
那么$(objects)值为:main.o foo.o bar.o another.o
等价于
objects=main.o foo.o bar.o
objects:=$(objects) another.o
注:
如果变量之前没有被定义过,则+=会自动变成=
分享到:
相关推荐
makefile学习手册集合包括《跟我一起写makefile》《gnumakefile》
Makefile学习参考资料.zip
不错的makefile学习资料,数据makefile的进阶篇
纤细介绍如何编写makefile的文档,如何组织Makefile文件
Makefile学习笔记.docx
Makefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料.rarMakefile学习资料....
makefile学习电子书,包含: gnu make GNU make中文手册 跟我一起写Makefile
很不错的makefile学习资料 很不错的makefile学习资料 很不错的makefile学习资料 很不错的makefile学习资料 很不错的makefile学习资料
总结文档: 目录 1功能 2 Make 和Makefile的关系 3 makefile 规则 4 Make 命令行参数 5 如何使用 6关于Toscan中makefile文件的使用和说明 7 疑问
一本 Makefile 开发手册,系统学习Makefile,pdf格式,由浅入深,通俗易懂。
Makefile学习教程: 跟我一起写 Makefile 0 Makefile概述 0.1 关于程序的编译和链接 1 Makefile 介绍 1.1 Makefile的规则 1.2 一个示例 1.3 make是如何工作的 1.4 makefile中使用变量 1.5 让make自动推导 ...
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但...
这是我自己学习Makefile的心得,包括在单目录下如何编写,在多目录下如何编译各自的源文件,在多目录下编译成静态库和动态库文件,以及链接库文件生成目标程序的Makefile,其中还有一些心得,希望能对刚刚学习...
关于make makefile 的学习资料. 介绍了make makefile 的语法等。
make中文手册等 小测试: # Readme: # use: make config # use: make dir # use: make # use: make clean # use: make rebuild # use: make cleanall # use: make test # use: make
Makefile学习教程.txt Makefile学习教程.txt Makefile学习教程.txt
Makefile学习.pdf
makefile编写,学习linux c编程的必备,makefile编写,学习linux c编程的必备
本篇文章详细阐述了unix环境下的make的使用,默认的编译器是UNIX下的GCC和CC。
makefile编写规则,快速学习了解makefile入门。