Buildroot очистить мои зависимости после изменения моего исходного кода

Я использую 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))

Когда я бегу «сделать привет-восстановить && делать», я получил ошибку, что все SDL включает не существует.

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

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

Благодарю.

1

Решение

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

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

0

Другие решения

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

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

Благодарю.

0

По вопросам рекламы [email protected]