u-boot makefile $$
define filechk_uboot.release # Store (new) UBOOTRELEASE string in include/config/uboot.release ? 跟我一起学Makefile.pdf: 变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来。如果你要使用真实的“$”字符,那么你需要用“$$”来表示。 $(UBOOTVERSION)表示变量UBOOTVERSION $$表示$ $$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)) --> $($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree)) ? # SHELL used by kbuild 以上 用到了$$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要是一条命令,否则会报错?。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |