博客
关于我
BitBake用户手册-3.语法和操作
阅读量:352 次
发布时间:2019-03-04

本文共 4448 字,大约阅读时间需要 14 分钟。

BitBake ??????????

BitBake ??????????????????????????????????????????????????????? BitBake ??????????????????????


3. ?????

3.1 ????

BitBake ???????????????????????????? BitBake ????????

3.1.1 ??????

??????? VARIABLE ??? "value"??????????????

VARIABLE = "value"

?????????????????????

VARIABLE = " value"VARIABLE = "value "

????????????????

VARIABLE = ""VARIABLE = " "

??????????????????????

VARIABLE = 'I have a " in my value'

???? Bourne shell ???BitBake ?????????????????????????

3.1.2 ???????

????????????????????????????????

  • ????????????
  • ?? *.bbclass ?????????????
  • ?? *.bbappend ??????????????????
  • ??????????????????????

????????????????????????????????????????????????????

3.1.3 ??

BitBake ???????? (\) ??????????????

FOO = "bar \       baz \       qaz"

?????????????????????FOO ???????????

3.1.4 ????

???????? Bourne shell ?????????????????????

A = "ava"B = "pre${A}post"

???? Bourne shell ???BitBake ????????????? (${})???? $?

????????????????????????????????

A = "${B} baz"B = "pre"C = "foo"

???????${A} ???? "pre foo"?

3.1.5 ????? (?=)

????? ?= ?????????????????????????????????

A ?= "aval"

????????????? ?= ??????????????

3.1.6 ?????? (??=)

???? ??= ???????????????? ?= ????????????????????

A ??= "somevalue"A ??= "someothervalue"

?????????? A?????????????? A????????? "someothervalue"?

3.1.7 ?????? (:=)

:= ?????????????????????????????

T = "123"A := "test ${T}"T = "456"B := "${T} ${C}"C = "cval"C := "${C}append"

????????? T ????? "456"?A ???? "test123"??? B ??? "456 cvalappend"?

3.1.8 ?????? (+=) ??? (+=)

??????????? += ? += ??????????????????????????

B = "bval"B += "additionaldata"C = "cval"C =+ "test"

??????

  • B = "bval Extradata"
  • C = "test cval"
3.1.9 ??????? (=.) ??? (=.)

??????????????????????? =.= ? =. ????

B = "bval"B .= "additionaldata"C = "cval"C =. "test"

??????

  • B = "bvaladditionaldata"
  • C = "testcval"
3.1.10 ???????????

????????????????????????????? += ? =+ ??????????????????

B_append = "additionaldata"C_prepend = "additional data "D_append = "additional data"

??????

  • B = "bval additional data"
  • C = "additional data cval"
  • D = "dvaladditional data"

??????????????????????

3.1.11 ??????????

????????????????????????????????????????????

FOO = "123 456 789 123456 123 456 123 456"FOO_remove = "123"FOO_remove = "456"

???

  • FOO = "789 123456"

3.2 ?????????

????? export ????????????????????????

export ENV_VARIABLEENV_VARIABLE = "value from the environment"

????????????????????????

bitbake -e

??????????????????? "export" ???


3.3 ????????

BitBake ?? OVERRIDES ??????????? OVERRIDES ??????

3.3.1 ?????

OVERRIDES ???????????????????????????

OVERRIDES = "architecture:os:machine"TEST = "default"TEST_os = "osspecific"

???????BitBake ?????? OVERRIDES ?????????????

3.3.2 key ??

? BitBake ??????????? key ??????

A${B} = "X"B = "2"A2 = "Y"

???????BitBake ??? ${B} ? "2"??? A2 ???? "X"?


3.4 ?????Sharing Functionality?

BitBake ?????????????????????????????

3.4.1 ?? Include ??? Class ??

BitBake ?? BBPATH ?????????????BBPATH ??????? PATH?

3.4.2 inherit ??

?????????? inherit ???????????????

inherit autotools

BitBake ?? BBPATH ??? classes/autotools.bbclass ???

3.4.3 include ??

include ?????????????????

include test_defs.inc

???????????include ?????????????? require ??? include?????????

3.4.4 require ??

require ??? include ???????????????????????

require foo.inc

3.4.5 INHERIT ????

???????? INHERIT ????????????

INHERIT += "abc"

3.5 ??

BitBake ?? Shell ???BitBake ??? Python ???Python ????? Python ???

3.5.1 Shell ??

Shell ?????

some_function () {    echo "Hello World"}

3.5.2 BitBake ??? Python ??

BitBake ??? Python ?????

python some_python_function () {    d.setVar("TEXT", "Hello World")    print(d.getVar("TEXT"))}

3.5.3 Python ??

?? Python ?????

def get_depends(d):    if d.getVar('SOMECONDITION'):        return "dependencywithcond"    else:        return "dependency"DEPENDS = "${@get_depends(d)}"

3.6 ??

??? BitBake ????????? BitBake ?????????? do_ ???

3.6.1 ???????

?????

addtask printdate after do_fetch before do_build

3.6.2 ????

???????

deltask printdate

3.7 ????

?????varflags???????????????????????

  • [cleandirs]?????????????
  • [depends]???????????
  • [dirs]????????????

3.8 ??

BitBake ??????????????????????????

  • bb.event.BuildStarted()
  • bb.build.TaskStarted()
  • bb.event.ConfigParsed()

3.9 ??-?????

BitBake ???? BBCLASSEXTEND ? BBVERSIONS ????????????

BBCLASSEXTEND = "native"BBVERSIONS = "1.0 2.0 git"

3.10 ??

BitBake ???????????????????

do_configure[deptask] = "do_populate_sysroot"

?????????????????? BitBake ?????????

转载地址:http://nvkr.baihongyu.com/

你可能感兴趣的文章
Python:假与 0
查看>>
Python:函数使用
查看>>
Python:函数进阶
查看>>
Python:在整数的二进制表示中查找最长的二进制间隙
查看>>
Python:如何从二进制转换为 base 64 并返回?
查看>>
Python:如何以非阻塞方式读取子进程的标准输出
查看>>
Python:如何使用 plotly 制作阴影区域或交替背景颜色?
查看>>
Python:如何根据日期时间获取值的计数
查看>>
python:如何检测串行 COM 上的设备名称/ID
查看>>
Python:如何模拟 datetime.utcnow()?
查看>>
Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
查看>>
Python:字典思维
查看>>
Python:将 HEX 字符串转换为字节
查看>>
Python:将列表与范围列表合并
查看>>
Python:将列表列表初始化为一定大小,
查看>>
Python:带有生成器的给定集合的幂集
查看>>
Python:按字符的位置拆分字符串
查看>>
Python:替换嵌套字典中的值
查看>>
Python:爬取数据出现response.status_code为403解决方法
查看>>
Python:爬取数据出现response.status_code为418解决方法
查看>>