bitbake之寫一個recipe

recipe文件的語法:
1、變量賦值和操作

S = "${WORKDIR}/postfix-${PV}" CFLAGS += "-DNO_ASM" SRC_URI_append = "file://fixup.patch"

2、函數(shù)
提供了一系列可執(zhí)行的動作,例如:

do_install(){
autotools_do_install
install -d ${D}${base_bindir}
mv ${D}${bindir}/sed ${D}${base_bindir}/sed
rmdir ${D}${bindir}/
}

3、關(guān)鍵字
bitbake recipe文件僅僅使用較少的關(guān)鍵字,使用inherit關(guān)鍵字可以包含公共的函數(shù),include和require可以包含其他recipe文件的部分,export關(guān)鍵字向環(huán)境輸出變量的值。

export POSTCONF = "${STAGING_BINDIR}/postconf"
inherit autoconf
require otherfile.inc

4、注釋
以#字符開頭的行,將被當(dāng)作注釋行,并且被忽略。
行的延續(xù)
使用反斜杠將一個聲明分成多行。例如:

VAR = "A really long\
line"

5、使用變量
使用${varname}來訪問變量的內(nèi)容,例如:

SRC_URI = "${SOURCEFORGE_MIRROR}/libpng/zlib-${PV}.tar.gz"

6、條件賦值:?=
條件賦值用于:當(dāng)該變量沒有被賦值時,對其進行賦值。

VAR1 = "Original value"
VAR1 ?= "New value"

VAR1的值沒有變,還是”O(jiān)riginal value”

7、增加:+=

SRC_URI += "file://fix-makefile.patch"

該操作符在舊的變量內(nèi)容和新的添加的內(nèi)容中間添加一個空格。

8、前置增加:=+

VAR =+ "Starts"

在VAR的值的前面添加。

9、_append
也是添加的意思,但是不添加空格,空格需要顯式添加,例如

SRC_URI_append = " file://fix-makefile.patch"
_prepend

同上!

10、override
一般情況下是某些值,在另外的條件下,使用override可以設(shè)定另外的值。例如:

KBRANCH = "standard/base"
KBRANCH_qemuarm = "standard/arm-versatile-926ejs"

11、使用python來進行復(fù)雜的操作
使用方式為:

 ${@python_code}

12、shell 使用
使用sh,而不是bash

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,136評論 2 9
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,709評論 0 5
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,641評論 1 32
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,323評論 0 10
  • 常量與變量使用let來聲明常量,使用var來聲明變量。聲明的同時賦值的話,編譯器會自動推斷類型。值永遠不會被隱式轉(zhuǎn)...
    莫_名閱讀 526評論 0 1

友情鏈接更多精彩內(nèi)容