summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorAlper Yildirim <ayildirim@aselsan.com>2009-07-20 19:17:10 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-07-27 16:07:00 +0200
commitb0df9df39ad76bdf89d1f58996cd4a1c2632b47c (patch)
treeb7c7c6150b093b7eb34e6b46e4383491d9bb21bb /Makefile
parent4b3e11b3e7d00881878f45cddbfe8f4bf07d1ebe (diff)
downloadbuildroot-novena-b0df9df39ad76bdf89d1f58996cd4a1c2632b47c.tar.gz
buildroot-novena-b0df9df39ad76bdf89d1f58996cd4a1c2632b47c.zip
config: Add support for xconfig
It involved: * Modifying the top-level Makefile to create the xconfig target, and the $(CONFIG)/qconf target to compile the qconf utility * Modifying the package/config/Makefile magic so that C++ files and binaries gets linked properly, re-using the package/config/Makefile.kconfig logic inherited from the kernel * Hacking a little bit package/config/Makefile.kconfig in a way similar to the modifications done for the mconf (menuconfig interface) Signed-off-by: Alper Yildirim <ayildirim@aselsan.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile22
1 files changed, 19 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 76dd2cdf0..71a1ce5c4 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@ CONFIG_DEFCONFIG=.defconfig
CONFIG=package/config
DATE:=$(shell date +%Y%m%d)
-noconfig_targets:=menuconfig config oldconfig randconfig \
+noconfig_targets:=menuconfig xconfig config oldconfig randconfig \
defconfig allyesconfig allnoconfig release tags \
source-check help
@@ -431,13 +431,29 @@ $(CONFIG)/conf:
-@if [ ! -f .config ]; then \
cp $(CONFIG_DEFCONFIG) .config; \
fi
+
$(CONFIG)/mconf:
@mkdir -p $(CONFIG)/buildroot-config
- $(MAKE) CC="$(HOSTCC)" -C $(CONFIG) conf mconf
+ $(MAKE) CC="$(HOSTCC)" -C $(CONFIG) mconf
+ -@if [ ! -f .config ]; then \
+ cp $(CONFIG_DEFCONFIG) .config; \
+ fi
+
+$(CONFIG)/qconf:
+ @mkdir -p $(CONFIG)/buildroot-config
+ $(MAKE) CC="$(HOSTCC)" -C $(CONFIG) qconf
-@if [ ! -f .config ]; then \
cp $(CONFIG_DEFCONFIG) .config; \
fi
+xconfig: $(CONFIG)/qconf
+ @mkdir -p $(CONFIG)/buildroot-config
+ @if ! KCONFIG_AUTOCONFIG=$(CONFIG)/buildroot-config/auto.conf \
+ KCONFIG_AUTOHEADER=$(CONFIG)/buildroot-config/autoconf.h \
+ $(CONFIG)/qconf $(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 \
@@ -559,5 +575,5 @@ release: distclean
rm -rf $$OUT
.PHONY: dummy subdirs release distclean clean config oldconfig \
- menuconfig tags check test depend defconfig help
+ menuconfig xconfig tags check test depend defconfig help