buildroot 包 .mk 文件中的高级选项串联
Advanced options concatenation in buildroot package .mk file
我正在为使用 waf 构建系统的 xmms2 创建一个 buildroot 包。
对于配置步骤,我需要根据配置选择传递参数。实际上它是一个具有逗号分隔值的参数。它应该是这样的:
--with-optionals medialib-updater,s4
我看不到生成该值的方法。这是尝试过的:
################################################################################
#
# xmms2
#
################################################################################
XMMS2_VERSION = c081011ddc280908678709d1e80f7ec57efa7b82
XMMS2_SITE = https://github.com/Gamadril/xmms2-devel
XMMS2_SITE_METHOD = git
XMMS2_GIT_SUBMODULES = YES
XMMS2_LICENSE = LGPL-2.1
XMMS2_LICENSE_FILES = COPYING
XMMS2_INSTALL_STAGING = YES
XMMS2_CONF_OPTS = --with-optionals medialib-updater
ifeq ($(BR2_PACKAGE_XMMS2_DB_S4),y)
XMMS2_CONF_OPTS += ,s4
endif
$(eval $(waf-package))
结果是:--with-optionals medialib-updater ,s4
- 中间有一个space。
如何摆脱那个space?那么实际上如何用分隔符连接一些字符串呢?
在 make 中,+=
运算符总是添加一个 space。您可以使用扩展在没有 space 的情况下追加:
XMMS2_CONF_OPTS := "$(XMMS2_CONF_OPTS),s4"
我正在为使用 waf 构建系统的 xmms2 创建一个 buildroot 包。 对于配置步骤,我需要根据配置选择传递参数。实际上它是一个具有逗号分隔值的参数。它应该是这样的:
--with-optionals medialib-updater,s4
我看不到生成该值的方法。这是尝试过的:
################################################################################
#
# xmms2
#
################################################################################
XMMS2_VERSION = c081011ddc280908678709d1e80f7ec57efa7b82
XMMS2_SITE = https://github.com/Gamadril/xmms2-devel
XMMS2_SITE_METHOD = git
XMMS2_GIT_SUBMODULES = YES
XMMS2_LICENSE = LGPL-2.1
XMMS2_LICENSE_FILES = COPYING
XMMS2_INSTALL_STAGING = YES
XMMS2_CONF_OPTS = --with-optionals medialib-updater
ifeq ($(BR2_PACKAGE_XMMS2_DB_S4),y)
XMMS2_CONF_OPTS += ,s4
endif
$(eval $(waf-package))
结果是:--with-optionals medialib-updater ,s4
- 中间有一个space。
如何摆脱那个space?那么实际上如何用分隔符连接一些字符串呢?
在 make 中,+=
运算符总是添加一个 space。您可以使用扩展在没有 space 的情况下追加:
XMMS2_CONF_OPTS := "$(XMMS2_CONF_OPTS),s4"