2017-06-03 58 views

回答

1

我认为这是为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" 

,因为那个包发生luckly对Makefile中使用+=,而不是=

0

您可以定义一棵BR2_EXTERNAL树,在external.mk中,您可以覆盖您喜欢的任何包变量(当然也有一些例外,例如<PKG>_VERSION)。您可以附加到变量或覆盖它们。

+0

嗨,但有没有任何变量适用于配置? –

相关问题