博客
关于我
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 微信扫码登录_python实现微信第三方网站扫码登录(Django)
查看>>
Python 快速下载依赖
查看>>
python实现非参数统计的Cochran检验 (附完整源码)
查看>>
python 怎么验证是否安装成功 scrapy
查看>>
Python 手写数字识别-1
查看>>
Python实现接口自动化测试库(JSON与Requests)详解
查看>>
Python 手写数字识别-3-sklearn中的几种算法
查看>>
python实现SSIM和MSSSIM计算 (附完整源码)
查看>>
Python 打开文件注意事项
查看>>
python 批量修改文件名_python windows下批量修改文件名
查看>>
Python 抓取网页乱码问题 以及EXCEL乱码
查看>>
python 抓取网页内容
查看>>
python 按照当前日期创建文件
查看>>
Python 接口并发测试详解
查看>>
Python 接口自动化 —— requests框架
查看>>
python 接口自动化数据结构(如列表、字典、元组)
查看>>
Python 接口自动化测试中的深拷贝与浅拷贝~
查看>>
Python 接口自动化测试中的高阶函数
查看>>
python 控制 cmd 命令行颜色
查看>>
Python 操作 Azure Blob Storage
查看>>