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
-@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 \
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
host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
host-cmulti := $(foreach m,$(__hostprogs),\
$(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
+host-cxxmulti := $(foreach m,$(__hostprogs),\
+ $(if $($(m)-cxxobjs),$(m),$(if $($(m)-objs),)))
host-cobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-objs)))
+host-cxxobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs)))
$(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 $@
+$(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib)
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $($@-cxxobjs) $(HOSTLOADLIBES_$@) -o $@
+
$(host-cobjs): %.o: %.c
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@
+$(host-cxxobjs): %.o: %.cc
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) -c $< -o $@
+
$(obj)/%:: $(src)/%_shipped
$(Q)cat $< > $@
ifeq ($(MAKECMDGOALS),xconfig)
qconf-target := 1
endif
+ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf)
+ qconf-target := 1
+endif
+
ifeq ($(MAKECMDGOALS),gconfig)
gconf-target := 1
endif
---
- Makefile | 3 +
+ Makefile | 7 +++
README.buildroot2 | 22 ++++++++++
conf.c | 13 ++----
confdata.c | 101 ++++++++++++++++++++++++++------------------------
util.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
zconf.tab.c_shipped | 2
zconf.y | 2
- 11 files changed, 234 insertions(+), 101 deletions(-)
+ 11 files changed, 238 insertions(+), 101 deletions(-)
Index: config/Makefile
===================================================================
--- config.orig/Makefile
+++ config/Makefile
-@@ -124,6 +124,9 @@
+@@ -124,10 +124,17 @@
ifeq ($(MAKECMDGOALS),menuconfig)
hostprogs-y += mconf
endif
ifeq ($(MAKECMDGOALS),xconfig)
qconf-target := 1
+ endif
++ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf)
++ qconf-target := 1
++endif
++
+ ifeq ($(MAKECMDGOALS),gconfig)
+ gconf-target := 1
+ endif
Index: config/README.buildroot2
===================================================================
--- /dev/null