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"