bitbake-5-变量与语句

BitBake元数据文件使用相当简单明了的语法。 

在某种程度上,它类似于Makefile和shell脚本的语法。

描述

注意事项

注释

第一列开始就写上#即是注释,除非它们在shell或者python函数的内部。

如下图第二行,就是一个非法的注释

变量

变量赋值

1、变量是无类型的,bitbake把所有赋给变量的值都视作字符串

2、变量命令规则与常用的规则相同,但是惯例是只有大写字母和下划线是被使用的

3、在.conf文件中定义的变量是全局的,在菜谱文件中定义的变量仅存活与他们自己的名字空间(每个菜谱有自己的名字空间)

4、变量赋值的例子:

VAR = "value\"value\"value"

5、默认赋值用 ?=

默认赋值的意思是如果变量之前没有被设置过,那么它会被赋予默认值,如果它在默认赋值之前已经被设置过了,那么就保留它的值,默认赋值就不起作用。

6、变量扩展,与Makefile类似:

VAR1 = "JOKE"

VAR2 = "JUST A ${VAR1}"

7、直接变量扩展 :=

直到变量被实际使用时才发生赋值

8、@操作符

@操作符告诉bitbake把随后的表达式视作python代码

变量追加

变量前新增

1、带空格的追加 +=

VAR1 =    "12"

VAR1 += "34"

最终VAR1为12 34

2、带空格的前新增 =+

VAR1 =    "12"

VAR1 =+ "34"

最终VAR1为34 12

3、不带空格的追加.=,不带空格的前新增=.

4、不带空格的追加${VAR1}_append,不带空格的前新增${VAR1}__prepend

5、去除_remove

去除是先将变量以空格为分隔符分为列表,然后去除所有符合情况的列表元素

VAR1 = "123 4356 123"

VAR1_remove = "123"

最终VAR1为4356

包含指令

bitbake提供了两个包含指令

include optional.inc

required mandatory.inc

使用include指令时,即使找不到,它也能继续操作,但是require指令必须要找到,不然就报错

继承机制

bitbake有简单的继承机制。类可以被菜谱、追加文件和其他类使用inherit指令来继承

类是带有.bbclass文件名后缀的、被放置到元数据层的classes子目录中的元数据文件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值