[uClinux-dev] [patch] restore gui config support
Mike Frysinger
vapier at gentoo.org
Tue Feb 5 10:32:38 EST 2008
This patch incorporates feedback from Gavin and is self-contained (you don't
need any other patch). This works for me for the menuconfig/xconfig targets
with no warnings about overridden targets.
---
While I personally don't use this, we have some users who like it, so I've
forward/back/something-ported support for {g,q,x}config targets to the new
Kconfig system.
Signed-off-by: Mike Frysinger <vapier at gentoo.org>
---
diff --git a/Makefile b/Makefile
index 0450b7b..311b90d 100644
--- a/Makefile
+++ b/Makefile
@@ -109,41 +109,34 @@ Kconfig:
include config/Makefile.conf
-.PHONY: config
-config: Kconfig conf
- $(SCRIPTSDIR)/conf Kconfig
- @chmod u+x config/setconfig
- @config/setconfig defaults
- @if egrep "^CONFIG_DEFAULTS_KERNEL=y" .config > /dev/null; then \
- $(MAKE) linux_config; \
- fi
- @if egrep "^CONFIG_DEFAULTS_MODULES=y" .config > /dev/null; then \
- $(MAKE) modules_config; \
- fi
- @if egrep "^CONFIG_DEFAULTS_VENDOR=y" .config > /dev/null; then \
- $(MAKE) config_config; \
- fi
- @config/setconfig final
-
-.PHONY: menuconfig
-menuconfig: Kconfig conf mconf
- $(SCRIPTSDIR)/mconf Kconfig
+SCRIPTS_BINARY_config = conf
+SCRIPTS_BINARY_menuconfig = mconf
+SCRIPTS_BINARY_qconfig = qconf
+SCRIPTS_BINARY_gconfig = gconf
+SCRIPTS_BINARY_xconfig = gconf
+.PHONY: config menuconfig qconfig gconfig xconfig
+menuconfig: mconf
+qconfig: qconf
+gconfig: gconf
+xconfig: $(SCRIPTS_BINARY_xconfig)
+config menuconfig qconfig gconfig xconfig: Kconfig conf
+ $(SCRIPTSDIR)/$(SCRIPTS_BINARY_$@) Kconfig
@if [ ! -f .config ]; then \
echo; \
- echo "You have not saved your config, please re-run make config"; \
+ echo "You have not saved your config, please re-run 'make $@'"; \
echo; \
exit 1; \
fi
@chmod u+x config/setconfig
@config/setconfig defaults
@if egrep "^CONFIG_DEFAULTS_KERNEL=y" .config > /dev/null; then \
- $(MAKE) linux_menuconfig; \
+ $(MAKE) linux_$@; \
fi
@if egrep "^CONFIG_DEFAULTS_MODULES=y" .config > /dev/null; then \
- $(MAKE) modules_menuconfig; \
+ $(MAKE) modules_$@; \
fi
@if egrep "^CONFIG_DEFAULTS_VENDOR=y" .config > /dev/null; then \
- $(MAKE) config_menuconfig; \
+ $(MAKE) config_$@; \
fi
@config/setconfig final
diff --git a/config/Makefile b/config/Makefile
index a0ac35d..1fbff89 100644
--- a/config/Makefile
+++ b/config/Makefile
@@ -12,6 +12,15 @@ config: conf
menuconfig: mconf
$(SCRIPTSDIR)/mconf Kconfig
+gconfig: gconf
+ $(SCRIPTSDIR)/gconf Kconfig
+
+qconfig: qconf
+ $(SCRIPTSDIR)/qconf Kconfig
+
+xconfig: gconfig
+
clean: confclean
rm -f autoconf.h auto.conf .config .config.old
+.PHONY: all oldconfig config menuconfig gconfig qconfig xconfig clean
diff --git a/config/Makefile.conf b/config/Makefile.conf
index 566f396..6995bc5 100644
--- a/config/Makefile.conf
+++ b/config/Makefile.conf
@@ -1,16 +1,31 @@
HOSTCC = cc
+HOSTCXX = c++
+
+SMAKE = CC=$(HOSTCC) CXX=$(HOSTCXX) $(MAKE)
.PHONY: conf
conf: $(SCRIPTSDIR)/conf
$(SCRIPTSDIR)/conf:
- CC=$(HOSTCC) $(MAKE) -C $(SCRIPTSDIR) conf
+ $(SMAKE) -C $(SCRIPTSDIR) conf
.PHONY: mconf
mconf: $(SCRIPTSDIR)/mconf
$(SCRIPTSDIR)/mconf:
- CC=$(HOSTCC) $(MAKE) -C $(SCRIPTSDIR) mconf
+ $(SMAKE) -C $(SCRIPTSDIR) mconf
+
+.PHONY: gconf
+gconf: $(SCRIPTSDIR)/gconf
+
+$(SCRIPTSDIR)/gconf:
+ $(SMAKE) -C $(SCRIPTSDIR) gconf
+
+.PHONY: qconf
+qconf: $(SCRIPTSDIR)/qconf
+
+$(SCRIPTSDIR)/qconf:
+ $(SMAKE) -C $(SCRIPTSDIR) qconf
.PHONY: confclean
confclean:
diff --git a/config/kconfig/Makefile b/config/kconfig/Makefile
index b371661..e2d1c21 100644
--- a/config/kconfig/Makefile
+++ b/config/kconfig/Makefile
@@ -11,7 +11,8 @@ LDLIBS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(CC))
conf-objs := conf.o zconf.tab.o
mconf-objs := mconf.o zconf.tab.o
-qconfig-objs := conf.o kconfig_load.o kxgettext.o zconf.tab.o qconf.o
+gconf-objs := gconf.o kconfig_load.o zconf.tab.o
+qconf-objs := qconf.o kconfig_load.o zconf.tab.o
lxdialog-objs := lxdialog/checklist.o lxdialog/inputbox.o lxdialog/menubox.o \
lxdialog/textbox.o lxdialog/util.o lxdialog/yesno.o
@@ -21,11 +22,23 @@ conf: $(conf-objs)
mconf: $(mconf-objs) $(lxdialog-objs)
+gconf: $(gconf-objs)
+gconf: CPPFLAGS += `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` -D LKC_DIRECT_LINK
+gconf: LDLIBS += `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
+
+%.moc: %.h
+ `pkg-config --variable=prefix qt 2>/dev/null || pkg-config --variable=prefix qt-mt`/bin/moc -i $< -o $@
+qconf.o: qconf.moc
+qconf: $(qconf-objs)
+qconf: CPPFLAGS += `pkg-config --cflags qt 2>/dev/null || pkg-config --cflags qt-mt` -D LKC_DIRECT_LINK
+qconf: LDLIBS += `pkg-config --libs qt 2>/dev/null || pkg-config --libs qt-mt` -ldl
+
+xconf: qconf
+
zconf.tab.o: zconf.tab.c zconf.hash.c lex.zconf.c
%.c: %.c_shipped
cp $< $@
clean:
- rm -f conf mconf *.o .*.o.cmd lxdialog/*.o
-
+ rm -f conf mconf gconf qconf *.moc *.o .*.o.cmd lxdialog/*.o
More information about the uClinux-dev
mailing list