У меня есть файлы .a и .h, которые нужно добавить в установщик SDK. Заголовочный файл правильно помещен в каталог {includeir} aka / usr / include
Однако статический файл lib, который будет добавлен в {libdir}, по какой-то причине не копируется в usr / lib /. Я не получаю никаких сообщений об ошибках или предупреждений при сборке пакета SDK.
Используемый рецепт:
#
# This file was derived from the 'Hello World!' example recipe in the
# Yocto Project Development Manual.
#
SUMMARY = "HostSw and libraries for abc"
SECTION = "abc-drv"
LICENSE = "CLOSED"
ABC_ROOT = "${HOME}/abc/def"
ABC_HOSTSW_DIR = "${ABC_ROOT}/hostSw"
ABC_UTILS_DIR = "${ABC_ROOT}/cliUtilities"
inherit externalsrc
EXTERNALSRC = "${ABC_ROOT}"
do_compile() {
make clean -C ${ABC_HOSTSW_DIR}
make -C ${ABC_HOSTSW_DIR}
make clean -C ${ABC_UTILS_DIR}
make -C ${ABC_UTILS_DIR}
}
##################################################################################################
APPLI_PATH := "${ABC_ROOT}/hostSw"
APPLI_BIN_PATH := "${APPLI_PATH}/bin/"
APPLI_TARGET_PATH := "${base_prefix}/home/root/"
APPLI_NAME := "example-app"
UTILS_BIN_PATH := "${ABC_UTILS_DIR}/bin"
UTILS_TARGET_PATH := "${APPLI_TARGET_PATH}"
do_install() {
install -d ${D}${APPLI_TARGET_PATH}
install -m 0550 ${APPLI_BIN_PATH}/${APPLI_NAME} ${D}${APPLI_TARGET_PATH}
install -d ${D}${libdir}
install -m 0644 ${APPLI_BIN_PATH}/abc.a ${D}/${libdir}
install -d ${D}${includedir}
install -m 0644 ${APPLI_PATH}/inc/abc.h ${D}/${includedir}
}
FILES_${PN} = "\
${APPLI_TARGET_PATH} \
"
Пожалуйста, не обращайте внимания на externalsrc или любые другие не связанные с проблемами особенности, рецепт работает так, как мне нужно, за исключением статической библиотеки, не вставляемой в SDK.
Почему файл .a не обрабатывается так же, как файл заголовка, и как нужно было изменить рецепт, чтобы статический lib был включен в пакет SDK?
При перечислении пакета я получаю:
oe-pkgdata-util list-pkg-files -p def-abc-xyz
def-abc-xyz-dbg:
def-abc-xyz-staticdev:
/usr/lib/libabc.a
def-abc-xyz-dev:
/usr/include/abc.h
def-abc-xyz:
[snip]