Makefile: support gconfig (GTK-based configurator) similar to xconfig
authorPeter Korsgaard <jacmet@sunsite.dk>
Sat, 5 Jun 2010 19:09:05 +0000 (21:09 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sat, 5 Jun 2010 19:15:10 +0000 (21:15 +0200)
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>
CHANGES
Makefile
docs/about.html
docs/buildroot.html
package/config/Makefile
package/config/Makefile.kconfig

diff --git a/CHANGES b/CHANGES
index 86495889d553e769de2f12f8abe7ea0e0de9d440..6fddc140defb6dd84065469d01abe21e6f83b24c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
 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
 
index a75ca3e5f23f58fc9b15f0aabc9b0c977d2a665a..68732fa448036ad3600b9b46557f775ad772e783 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -29,7 +29,7 @@ CONFIG_DEFCONFIG=.defconfig
 CONFIG=package/config
 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 \
        randpackageconfig allyespackageconfig allnopackageconfig \
        source-check help
@@ -484,6 +484,14 @@ xconfig: $(CONFIG)/qconf
                test -f .config.cmd || rm -f .config; \
        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
        @mkdir -p $(CONFIG)/buildroot-config
        @if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
@@ -605,6 +613,7 @@ help:
        @echo 'Configuration:'
        @echo '  menuconfig             - interactive curses-based configurator'
        @echo '  xconfig                - interactive Qt-based configurator'
+       @echo '  gconfig                - interactive GTK-based configurator'
        @echo '  oldconfig              - resolve any unresolved symbols in .config'
        @echo '  randconfig             - New config with random answer to all options'
        @echo '  defconfig              - New config with default answer to all options'
index b985c4ff874cc0c00ff8d7d376e22abd16de33e2..06d7cb35e8f89cc55f1f6d575a395dce2417e992 100644 (file)
@@ -31,8 +31,8 @@ cross-compilation process.</p>
   also sufficiently flexible that it can also be used for only one or
   several of these steps.</li>
 
-  <li>Is <b>very easy</b> to set up, thanks to its menuconfig and
-  xconfig configuration interfaces, familiar to all embedded Linux
+  <li>Is <b>very easy</b> to set up, thanks to its menuconfig, gconfig
+  and xconfig configuration interfaces, familiar to all embedded Linux
   developers. Building a basic embedded Linux system with Buildroot
   typically takes 15-30 minutes.</li>
 
index 3702b449f86ed89f96738242d4cb5155f2e8ee51..37d3876276234c18c6ce4f72754705c97ea13f1d 100644 (file)
  $ make xconfig
 </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
     relevent libraries used by the configuration utilities.
     On Debian-like systems, the
     <code>libncurses5-dev</code> package is required to use the
-    <i>menuconfig</i> interface, and the <code>libqt3-mt-dev</code> is
-    required to use the <i>xconfig</i> interface.</p>
+    <i>menuconfig</i> interface, <code>libqt3-mt-dev</code> is
+    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
     that describes the purpose of the entry. </p>
index 66b54cdf6819f3578b92e8a449c4998cfec2446c..a1008500708710e52ca9dbcc2f96e26bbceab46c 100644 (file)
@@ -23,7 +23,7 @@ $(host-csingle): %: %.c
        $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< $(HOST_LOADLIBES) -o $@
 
 $(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)
        $(HOSTCXX) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) $($@-objs) $($@-cxxobjs) $(HOSTLOADLIBES_$@) -o $@
index 6d89e597e6ec41229870139f01d94517f9f2ae18..835d0f1900f410df91ce671d68e9846c1e8366d5 100644 (file)
@@ -138,7 +138,9 @@ endif
 ifeq ($(MAKECMDGOALS),gconfig)
        gconf-target := 1
 endif
-
+ifeq ($(findstring gconf,$(MAKECMDGOALS)),gconf)
+       gconf-target := 1
+endif
 
 ifeq ($(qconf-target),1)
 qconf-cxxobjs  := qconf.o