From 23dd6db2ea6d783c16bf10b43c23478b7f26723d Mon Sep 17 00:00:00 2001
From: "Alif M. Ahmad" <alive4ever@live.com>
Date: Sun, 23 Jul 2017 03:08:56 +0000
Subject: [PATCH] include/toplevel.mk: Add xconfig target

Add xconfig target to include/toplevel.mk, so that ``make xconfig`` can
be invoked from $TOPDIR to use Qt based configuration tool to prepare
.config file.

The qconf related sources are taken from linux 4.9.13 archive.

Signed-off-by: Alif M. Ahmad <alive4ever@live.com>
---
 include/toplevel.mk | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/toplevel.mk b/include/toplevel.mk
index 658eb4ce475..3f5a7500308 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -104,6 +104,9 @@ scripts/config/mconf:
 
 $(eval $(call rdep,scripts/config,scripts/config/mconf))
 
+scripts/config/qconf:
+	@$(_SINGLE)$(SUBMAKE) -s -C scripts/config qconf CC="$(HOSTCC_WRAPPER)"
+
 scripts/config/conf:
 	@$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC_WRAPPER)"
 
@@ -136,6 +139,12 @@ menuconfig: scripts/config/mconf prepare-tmpinfo FORCE
 	[ -L .config ] && export KCONFIG_OVERWRITECONFIG=1; \
 		$< Config.in
 
+xconfig: scripts/config/qconf prepare-tmpinfo FORCE
+	if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \
+		cp $(HOME)/.openwrt/defconfig .config; \
+	fi
+	$< Config.in
+
 prepare_kernel_conf: .config FORCE
 
 ifeq ($(wildcard staging_dir/host/bin/quilt),)