我应该设置src_uri吗?

时间:2019-10-28 09:05:05

标签: build local yocto

我有本地资源,而不是存档资源。 如果要构建这些源,如何编写bb文件?

ex)在此处输入代码

    librarytest
          - a.c
          - b.c
          - c.c
          - librarytest.bb
          - LICENSE

librarytest.bb文件。

SUMMARY = "Library test source"
SECTION = "misc"
LICENSE = "GPLv2"
BB_STRICT_CHECKSUM = "0"

PREBUILTLIBS_PATH = "${TOPDIR}/../prebuiltlibs"
FILESEXTRAPATHS_prepend := "${PREBUILTLIBS_PATH}"

LIC_FILES_CHKSUM = "file://LICENSE;md5=293ef69c4e88434d37a5ee577a5288cb"

SRC_URI = "file://${PREBUILTLIBS_PATH}/${PN}"

EXTRA_OEMAKE = "-e MAKEFLAGS="

# comment out MakeInclude in Makefile which sets build environment
# ignore strip to avoid yocto errors in stripping

do_fetch[noexec] = "1"`enter code here`
do_unpack[noexec] = "1"
... skip

1 个答案:

答案 0 :(得分:0)

这是从本地源编译共享库的方法。您可以用类似的方式来编译测试应用程序。

SUMMARY = "Library test source"
SECTION = "misc"
LICENSE = "GPLv2"
BB_STRICT_CHECKSUM = "0"

PREBUILTLIBS_PATH = "${TOPDIR}/../prebuiltlibs"
FILESEXTRAPATHS_prepend := "${PREBUILTLIBS_PATH}:${THISDIR}"

LIC_FILES_CHKSUM = "file://LICENSE;md5=293ef69c4e88434d37a5ee577a5288cb"

SRC_URI = " 
          file://a.c \
          file://b.c \
          file://c.c \
"

EXTRA_OEMAKE = "-e MAKEFLAGS="

# comment out MakeInclude in Makefile which sets build environment
# ignore strip to avoid yocto errors in stripping

do_fetch[noexec] = "1"
do_unpack ()
{
    cp ${WORKDIR}/a.c ${S}
    cp ${WORKDIR}/b.c ${S}
    cp ${WORKDIR}/c.c ${S}
}

do_compile ()
{
    # Either run makefile or the gcc shell command to compile files
    # oe_runmake
    ${CC} a.c b.c c.c -fPIC -shared -o libraryName.so

}

do_install ()
{
    install -d ${D}${libdir}

    install -m 0644 libraryName.so ${D}${libdir}
}