Makefile: support gconfig (GTK-based configurator) similar to xconfig

Support the GTK variant of the graphical kconfig configurator as an
alternative to the Qt3-based one.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2010-06-05 21:09:05 +02:00
parent 35fac17ebc
commit 2b42aae784
6 changed files with 31 additions and 10 deletions

View File

@ -1,6 +1,8 @@
2010.08, Not released yet: 2010.08, Not released yet:
Fixes all over the tree. Fixes all over the tree and new features.
New GTK-based configurator, usable using 'make gconfig'.
Updated/fixed packages: cdrkit, libidn, netperf Updated/fixed packages: cdrkit, libidn, netperf

View File

@ -29,7 +29,7 @@ CONFIG_DEFCONFIG=.defconfig
CONFIG=package/config CONFIG=package/config
DATE:=$(shell date +%Y%m%d) DATE:=$(shell date +%Y%m%d)
noconfig_targets:=menuconfig xconfig config oldconfig randconfig \ noconfig_targets:=menuconfig gconfig xconfig config oldconfig randconfig \
defconfig allyesconfig allnoconfig release \ defconfig allyesconfig allnoconfig release \
randpackageconfig allyespackageconfig allnopackageconfig \ randpackageconfig allyespackageconfig allnopackageconfig \
source-check help source-check help
@ -484,6 +484,14 @@ xconfig: $(CONFIG)/qconf
test -f .config.cmd || rm -f .config; \ test -f .config.cmd || rm -f .config; \
fi fi
gconfig: $(CONFIG)/gconf
@mkdir -p $(CONFIG)/buildroot-config
@if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
$(CONFIG)/gconf $(CONFIG_CONFIG_IN); then \
test -f .config.cmd || rm -f .config; \
fi
menuconfig: $(CONFIG)/mconf menuconfig: $(CONFIG)/mconf
@mkdir -p $(CONFIG)/buildroot-config @mkdir -p $(CONFIG)/buildroot-config
@if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \ @if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
@ -605,6 +613,7 @@ help:
@echo 'Configuration:' @echo 'Configuration:'
@echo ' menuconfig - interactive curses-based configurator' @echo ' menuconfig - interactive curses-based configurator'
@echo ' xconfig - interactive Qt-based configurator' @echo ' xconfig - interactive Qt-based configurator'
@echo ' gconfig - interactive GTK-based configurator'
@echo ' oldconfig - resolve any unresolved symbols in .config' @echo ' oldconfig - resolve any unresolved symbols in .config'
@echo ' randconfig - New config with random answer to all options' @echo ' randconfig - New config with random answer to all options'
@echo ' defconfig - New config with default answer to all options' @echo ' defconfig - New config with default answer to all options'

View File

@ -31,8 +31,8 @@ cross-compilation process.</p>
also sufficiently flexible that it can also be used for only one or also sufficiently flexible that it can also be used for only one or
several of these steps.</li> several of these steps.</li>
<li>Is <b>very easy</b> to set up, thanks to its menuconfig and <li>Is <b>very easy</b> to set up, thanks to its menuconfig, gconfig
xconfig configuration interfaces, familiar to all embedded Linux and xconfig configuration interfaces, familiar to all embedded Linux
developers. Building a basic embedded Linux system with Buildroot developers. Building a basic embedded Linux system with Buildroot
typically takes 15-30 minutes.</li> typically takes 15-30 minutes.</li>

View File

@ -161,15 +161,23 @@
$ make xconfig $ make xconfig
</pre> </pre>
<p>to run the Qt3-based configurator.</p> or
<p>Both of these "make" commands will need to build a configuration <pre>
$ make gconfig
</pre>
<p>to run the Qt3 or GTK-based configurators.</p>
<p>All of these "make" commands will need to build a configuration
utility, so you may need to install "development" packages for utility, so you may need to install "development" packages for
relevent libraries used by the configuration utilities. relevent libraries used by the configuration utilities.
On Debian-like systems, the On Debian-like systems, the
<code>libncurses5-dev</code> package is required to use the <code>libncurses5-dev</code> package is required to use the
<i>menuconfig</i> interface, and the <code>libqt3-mt-dev</code> is <i>menuconfig</i> interface, <code>libqt3-mt-dev</code> is
required to use the <i>xconfig</i> interface.</p> required to use the <i>xconfig</i> interface, and
<code>libglib2.0-dev, libgtk2.0-dev and libglade2-dev</code> are
needed to used the <i>gconfig</i> interface.</p>
<p>For each menu entry in the configuration tool, you can find associated help <p>For each menu entry in the configuration tool, you can find associated help
that describes the purpose of the entry. </p> that describes the purpose of the entry. </p>

View File

@ -23,7 +23,7 @@ $(host-csingle): %: %.c
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< $(HOST_LOADLIBES) -o $@ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< $(HOST_LOADLIBES) -o $@
$(host-cmulti): %: $(host-cobjs) $(host-cshlib) $(host-cmulti): %: $(host-cobjs) $(host-cshlib)
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $(HOST_LOADLIBES) -o $@ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $(HOST_LOADLIBES) $(HOSTLOADLIBES_$@) -o $@
$(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib) $(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib)
$(HOSTCXX) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) $($@-objs) $($@-cxxobjs) $(HOSTLOADLIBES_$@) -o $@ $(HOSTCXX) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) $($@-objs) $($@-cxxobjs) $(HOSTLOADLIBES_$@) -o $@

View File

@ -138,7 +138,9 @@ endif
ifeq ($(MAKECMDGOALS),gconfig) ifeq ($(MAKECMDGOALS),gconfig)
gconf-target := 1 gconf-target := 1
endif endif
ifeq ($(findstring gconf,$(MAKECMDGOALS)),gconf)
gconf-target := 1
endif
ifeq ($(qconf-target),1) ifeq ($(qconf-target),1)
qconf-cxxobjs := qconf.o qconf-cxxobjs := qconf.o