【问题标题】:Buildroot custom package not built automaticallyBuildroot 自定义包未自动构建
【发布时间】:2020-01-02 10:21:52
【问题描述】:

我为 buildroot 创建了一个自定义包,并将其放在外部 buildroot 树中。 我使用make menuconfig BR_EXTERNAL=../buildroot-external启用了它

make mypackage触发时构建成功。

但是,当运行 make clean && make BR_EXTERNAL=../buildroot-external 时,一切都会重新构建,而我的自定义包却被遗忘了。 我希望它像所有其他包一样自动编译。

由于我仍在开发该软件包,因此源代码存储在本地,在 ../buildroot-external/locals.mk 中配置

为了完整起见,这些是用于定义包的配置文件:

buildroot-external/package/mypackage/Config.in

config BR2_PACKAGE_MY_PACKAGE
       bool "MyPackage"
       help
            Some help about MyPackage

buildroot-external/package/mypackage/mypackage.mk

################################################################################
#
# mypackage
#
################################################################################

MYPACKAGE_VERSION = 1.0
MYPACKAGE_SOURCE = mypackage

# PACKAGE_OVERRIDE_SRC_DIR set in buildroot-external/local.mk
# sources are taken from local folder to ease development

MYPACKAGE_LICENSE = GPL-3.0+
MYPACKAGE_LICENSE_FILES = COPYING

define MYPACKAGE_BUILD_CMDS
$(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/Buildserver all
endef

define MYPACKAGE_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/Buildserver/MyPackage $(TARGET_DIR)/root/MyPackageBamboo
endef

$(eval $(generic-package))

【问题讨论】:

    标签: embedded-linux buildroot


    【解决方案1】:

    输入make menuconfig,启用你的包,退出保存更改。 现在make 也将构建你的包。

    这是因为默认情况下几乎所有包都被禁用,因为 Buildroot 无法知道您在目标根文件系统上需要什么。

    【讨论】:

    • 我做到了。启用特定包等并保存配置。其他包构建​​,但我没有。甚至没有抛出错误,似乎被遗忘了。
    • @Toto 你在make 之前尝试过make clean 吗?如果包没有被构建,可能是因为它已经被构建了。还要仔细检查它是否已使用 grep MYPACKAGE .config 启用
    • 我找到了!这是Config.in 中的一个错字,我定义了一个名为my_package 的包,同时有一个mypackage.mk。下划线使它们成为两个不同的包。感谢您指导我仔细检查所有内容!
    • 顺便说一句,这个错误最初不是在我的最小示例中。所以你不可能发现它。我只是故意介绍它以更好地反映我最初的问题。
    猜你喜欢
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    相关资源
    最近更新 更多