2017-09-12 9 views
1

내가하는 일을 모른 채 사용할 변수가 있습니다. 누군가 Yocto에서이 모든 구문 분석의 논리를 설명 할 수 있을까요?Yocto의 변수 구문 분석은 어떻게 작동합니까?

밑줄 문자는 무엇을합니까? _append_pn 이외의 다른 인수는 무엇입니까?

어떻게 이런 일에 대한 PREFERRED_VERSION_linux-imx_mx6 = "3.10.17"

SRC_URI_append_toolchain-clang = " file://0004-Remove-clang-unsupported-compiler-flags.patch "

EXTRA_OECONF_append_arm = " --enable-fpm=arm"

PACKAGECONFIG_append_pn-packagename = " packagename"

? 이 방법으로 패키지를 추가하는 것이지만, 어떻게 작동하는지 알고 있습니다. bitbake: how to add package depending on MACHINE?

IMAGE_INSTALL_append_machine1 += " package1"

답변

1

문서이 꽤 잘 커버 :

LICENSE_FLAGS_WHITELIST_append = " commerical_packagename"

누군가는 그들을 위해 일이에 뭔가 이상한 언급 https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-manual.html#basic-syntax

긴 버전이다를 _ 소개합니다 오버라이드 (override). 할당하는 대신 "특별한 것을하십시오"라고 말하는 방식입니다.

일부는 append 및 prepend와 같은 연산입니다. FOO = "1" FOO_append = "2"

2가 1

에 추가되면서 FOO는

_remove 사용할 수 있습니다 (_prepend 당신이 무엇을 기대할 않습니다) 지금은 "12"입니다 공백으로 단락 지어진리스트로부터 항목을 삭제합니다.

FOO = "1 2 3" 
    FOO_remove = "2" 

FOO는 이제 "1 3"입니다.

pn_ [foo]는 특정 래서 피 이름 (역사적인 이름, 패키지 이름을 나타내지 만 실제로 래서 피를 참조 함)에 대한 재정의입니다.

EXTRA_OEMAKE_pn-foo = "bar" 

을 그리고 당신은 단지 foo는 레시피, 그냥 푸 레시피 EXTRA_OEMAKE을 설정 한 : 그래서 당신의 local.conf을 수행 할 수 있습니다.

다른 우선 적용이 있습니다. 아키텍처는 모두 오버라이드하므로 _arm _x86 _mips 등은 할당이 해당 아키텍처에만 적용되도록 지정합니다.