From 2b42aae78421127a37b7a5e9ae972276dc5c3779 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Sat, 5 Jun 2010 21:09:05 +0200 Subject: 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 86495889d..6fddc140d 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 a75ca3e5f..68732fa44 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 b985c4ff8..06d7cb35e 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 3702b449f..37d387627 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 66b54cdf6..a10085007 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 6d89e597e..835d0f190 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 -- cgit v1.2.3-55-g7522