u-boot makefile $$
define filechk_uboot.release
echo "$(UBOOTVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
endef
# Store (new) UBOOTRELEASE string in include/config/uboot.release
include/config/uboot.release: include/config/auto.conf FORCE
$(call filechk,uboot.release)
跟我一起学Makefile.pdf:
变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来。如果你要使用真实的“$”字符,那么你需要用“$$”来表示。
$(UBOOTVERSION)表示变量UBOOTVERSION
$$表示$
$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)) --> $($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))
# SHELL used by kbuild
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi ; fi)
以上 用到了$$var:访问shell命令中定义的变量var。在Makefile的规则命令,如果相互之间没有使用';\'连接起来的话,相互之间是不能共享变量的。
CONFIG_SHELL :=/bin/bash
$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)) --> $(/bin/bash $(srctree)/scripts/setlocalversion $(srctree)) 这是一条shell命令
$() 和`` 都表示 `命令` $(命令)
另外:$$var才表示访问shell命令中定义的变量var
$$(var)--> $(var) var要是一条命令,否则会报错 。
随机推荐
- httpd启动显示Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName'
AH00557: httpd: apr_sockaddr_info_get() failed for masterAH00558: httpd: Could not reliably determin ...
- HTTP学习记录:三、状态码
学习资源主要为:@小坦克HTTP相关博客 常见的HTTP状态码: 200--请求成功: 302--重定向: 304--Not Modified:表示上次的文档已经被缓存了,还可以继续使用: 400-- ...
- PARAMETERS对象
1. PARAMETERS的基本语法及定义 PARAMETERS可以参照数据字典字段或自定义数据类型创建文本输入域及单选框/复选框等, PARAMETERS只能创建一个单一的输入域且最多只能输入行,其 ...
- golang 千位分隔符
项目需求将统计出的数字以千位分隔符分隔的形式展示(如将 1234567.89 格式化为 1,234,567.89),而 golang 的标准库中并无这样的函数. 万能的 google 找到解决办法,可 ...
- c语言字串指针 char*
c语言中 char* 不仅能存字符串,还能存二进制数据,所以它的用途因使用者而定. char* 在很多使用场景下,是需要存储ascii码为0的元素的,这样就必须注意一个问题,那就是char*的长度. ...
- 前端使用Git 切换分支 查看线上远程,本地切换
想要使用Git切换线上分支时先 得先查看线上分支 git branch -a //查看线上分支 git branch //查看本地分支 这是线上的分支图(当前是master) 知道有那些分支就可以进行 ...
- sklearn+nltk ——情感分析(积极、消极)
转载:https://www.iteye.com/blog/dengkane-2406703 步骤: 1 有标签的数据.数据:好评文本:pos_text.txt 差评文本:neg_text.txt ...
- linux应用程序启动时加载库错误问题
ldd text查看依赖库 ln -s /lib64/libpcre.so.0 /usr/local/lib/libpcre.so做软连接
- 深入理解Linux-hostname
当我觉得对Linux系统下修改hostname已经非常熟悉的时候,今天碰到了几个个问题,这几个问题给我好好上了一课,很多知识点,当你觉得你已经掌握的时候,其实你了解的还只是皮毛.技术活,切勿浅尝则止! ...
- 【Linux-设备树】设备树
Linux3.1之前的版本,对于一般的ARM平台的设备,板级信息一般存放在/arch/arm/mach-**目录下. 设备树对应的文件存放在/arch/arm/boot/dts/***.dts目录下 ...