From 2b42aae78421127a37b7a5e9ae972276dc5c3779 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard
Date: Sat, 5 Jun 2010 21:09:05 +0200
Subject: [PATCH] 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
---
CHANGES | 4 +++-
Makefile | 11 ++++++++++-
docs/about.html | 4 ++--
docs/buildroot.html | 16 ++++++++++++----
package/config/Makefile | 2 +-
package/config/Makefile.kconfig | 4 +++-
6 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/CHANGES b/CHANGES
index 86495889d5..6fddc140de 100644
--- 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
diff --git a/Makefile b/Makefile
index a75ca3e5f2..68732fa448 100644
--- 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'
diff --git a/docs/about.html b/docs/about.html
index b985c4ff87..06d7cb35e8 100644
--- a/docs/about.html
+++ b/docs/about.html
@@ -31,8 +31,8 @@ cross-compilation process.
also sufficiently flexible that it can also be used for only one or
several of these steps.
- Is very easy to set up, thanks to its menuconfig and
- xconfig configuration interfaces, familiar to all embedded Linux
+ Is very easy 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.
diff --git a/docs/buildroot.html b/docs/buildroot.html
index 3702b449f8..37d3876276 100644
--- a/docs/buildroot.html
+++ b/docs/buildroot.html
@@ -161,15 +161,23 @@
$ make xconfig
- to run the Qt3-based configurator.
+or
- Both of these "make" commands will need to build a configuration
+
+ $ make gconfig
+
+
+ to run the Qt3 or GTK-based configurators.
+
+ 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
libncurses5-dev
package is required to use the
- menuconfig interface, and the libqt3-mt-dev
is
- required to use the xconfig interface.
+ menuconfig interface, libqt3-mt-dev
is
+ required to use the xconfig interface, and
+ libglib2.0-dev, libgtk2.0-dev and libglade2-dev
are
+ needed to used the gconfig interface.
For each menu entry in the configuration tool, you can find associated help
that describes the purpose of the entry.
diff --git a/package/config/Makefile b/package/config/Makefile
index 66b54cdf68..a100850070 100644
--- a/package/config/Makefile
+++ b/package/config/Makefile
@@ -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 $@
diff --git a/package/config/Makefile.kconfig b/package/config/Makefile.kconfig
index 6d89e597e6..835d0f1900 100644
--- a/package/config/Makefile.kconfig
+++ b/package/config/Makefile.kconfig
@@ -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
--
2.30.2