makefile - 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
- 之间有一个空格。如何摆脱那个空间?那么实际上如何用分隔符连接一些字符串呢?
解决方案
在make中,+=
运算符总是添加一个空格。您可以使用扩展不带空格地追加:
XMMS2_CONF_OPTS := "$(XMMS2_CONF_OPTS),s4"
推荐阅读
- c - 使用多线程的 C 套接字编程中 FD_ZERO() 的分段错误
- c# - WPF MVVM 在运行时创建行和列
- php - PHP - 标头不会继承当前 url 的先前部分
- docker - 是否可以缓存多阶段 docker 构建?
- c++ - 如何反序列化一个数组?
- java - 用forkjoinpool java 8替换线程池
- symfony - 如何在 Symfony 框架中禁用或修复弃用警告?
- python - 如何在python中将特殊格式导入为字典?
- azure-active-directory - 授予服务主体访问其他租户中的应用程序的权限
- python - 将字典存储在文件中并部分加载的最佳方法?