首页 > 解决方案 > buildroot 包 .mk 文件中的高级选项连接

问题描述

我正在为使用 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- 之间有一个空格。如何摆脱那个空间?那么实际上如何用分隔符连接一些字符串呢?

标签: makefilegnu-makebuildroot

解决方案


make中,+=运算符总是添加一个空格。您可以使用扩展不带空格地追加:

XMMS2_CONF_OPTS := "$(XMMS2_CONF_OPTS),s4"

推荐阅读