Buildroot 自定义包未自动构建
Buildroot custom package not built automatically
我已经为 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))
输入 make menuconfig
,启用您的包,退出保存更改。
现在 make
也将构建您的包。
这是因为默认情况下几乎所有的包都被禁用,因为 Buildroot 无法知道您在目标根文件系统上需要什么。
我已经为 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))
输入 make menuconfig
,启用您的包,退出保存更改。
现在 make
也将构建您的包。
这是因为默认情况下几乎所有的包都被禁用,因为 Buildroot 无法知道您在目标根文件系统上需要什么。