我认为截至2017.02目前还没有通用方法,因为package/pkg-autotools.mk
包含:
# Configure package for target
define $(2)_CONFIGURE_CMDS
(cd $$($$(PKG)_SRCDIR) && rm -rf config.cache && \
$$(TARGET_CONFIGURE_OPTS) \
$$(TARGET_CONFIGURE_ARGS) \
$$($$(PKG)_CONF_ENV) \
CONFIG_SITE=/dev/null \
./configure \
--target=$$(GNU_TARGET_NAME) \
--host=$$(GNU_TARGET_NAME) \
--build=$$(GNU_HOST_NAME) \
--prefix=/usr \
--exec-prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--program-prefix="" \
--disable-gtk-doc \
--disable-gtk-doc-html \
--disable-doc \
--disable-docs \
--disable-documentation \
--with-xmlto=no \
--with-fop=no \
--disable-dependency-tracking \
--enable-ipv6 \
$$(DISABLE_NLS) \
$$(SHARED_STATIC_LIBS_OPTS) \
$$(QUIET) $$($$(PKG)_CONF_OPTS) \
)
endef
else
我看不到任何方法来插入任意选项,因为$$($$(PKG)_CONF_OPTS)
是从设置package.mk
每个包的变量,其他变量似乎也有特定的用途,不应该被搞乱。
但我认为如果我们添加以下内容,这可以很容易地修复:
$$($$(PKG)_CONF_OPTS_EXTRA)
然后从 CLI 你可以执行以下操作:
make MYPACKAGE_CONF_OPTS_EXTRA="--enable-foo --enable-bar"
最后,对于某些软件包,您可以摆脱现有的make
配置,例如为了host-qemu
尚未转换为自动工具,我设法通过以下方式获得额外的选项:
HOST_QEMU_OPTS="--enable-sdl --with-sdlabi=2.0"
因为幸运的是那个包碰巧使用+=
代替=
在 Makefile 上。
托马斯的回答:https://stackoverflow.com/a/49570825/895245 https://stackoverflow.com/a/49570825/895245还表明,如果不修改新的配置选项,这是不可能的。