Buildroot очистить мои зависимости после изменения моего исходного кода - PullRequest
0 голосов
/ 25 декабря 2018

Я использую buildroot, чтобы создать собственный образ linux, и он работает.

Проблема в том, что я запускаю «make», чтобы закончить образ после изменения «исходного кода» пакета, потому что он очищает мойпользовательские зависимости пакета и все заголовки не найдены.

У меня есть зависимость со структурой:

################################################################################
#
# hello
#
################################################################################

HELLO_VERSION = 1.0
HELLO_SITE = ./package/hello/src
HELLO_SITE_METHOD = local
HELLO_DEPENDENCIES += directfb libogg libvorbis mpg123 sdl2 sdl2_image sdl2_gfx sdl2_ttf sdl2_mixer sdl2_net

define HELLO_BUILD_CMDS
    $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" LD="$(TARGET_LD)" -C $(@D)
endef

define HELLO_INSTALL_TARGET_CMDS
    $(INSTALL) -D -m 0755 $(@D)/hello $(TARGET_DIR)/usr/bin
    mkdir -p $(TARGET_DIR)/opt/app
    cp -r $(@D)/assets $(TARGET_DIR)/opt/app
endef

$(eval $(generic-package))

Когда я запускаю "make hello-rebuild && make" , я получаю сообщение об ошибке, что все SDL не включаютсуществует.

Когда я получил эту ошибку, я перестраивал только пакеты зависимостей с помощью "make sdl2-rebuild", "make sdl2_mixer-rebuild" и т. д.

Может кто-нибудь помочь мне понять, как я могурешить это?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 декабря 2018

После публикации в других местах того же ответа, пользователь buildroot отвечает правильным образом, то есть использует каталог @STAGING при компиляции вместо каталога @TARGET.

В моем make-файле я компилирую его, используя @ TARGET_DIR /usr / [папка], но правильным является @ STAGING_DIR / usr [папка].

Спасибо.

0 голосов
/ 27 декабря 2018

Обычно достаточно удалить папку output/build/hello-1.0 и снова набрать make

Buildroot, используемый для использования файлов штампов в выходной папке, которая указывает, какие цели были построены.удаление этих файлов может позволить вам перестроить части вашего изображения без особых затрат.

...