From ee4110aff031d53efe4fcc63e32cf218f455a7e9 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 13 Mar 2014 12:12:58 +0000
Subject: [PATCH] target/sdk: use .config instead of unconditionally enabling
 all build dirs

Call make defconfig on every build to catch newly added packages

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39913
---
 include/toplevel.mk          | 11 +++++++++++
 package/Makefile             |  7 ++-----
 target/sdk/convert-config.pl |  9 +++++++++
 3 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/include/toplevel.mk b/include/toplevel.mk
index 23d70ac81a1..10b81049c54 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -156,6 +156,15 @@ prereq:: prepare-tmpinfo .config
 	@+$(MAKE) -r -s tmp/.prereq-build $(PREP_MK)
 	@+$(NO_TRACE_MAKE) -r -s $@
 
+ifeq ($(SDK),1)
+
+%::
+	@+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq
+	@./scripts/config/conf --defconfig=.config Config.in
+	@+$(ULIMIT_FIX) $(SUBMAKE) -r $@
+
+else
+
 %::
 	@+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq
 	@( \
@@ -167,6 +176,8 @@ prereq:: prepare-tmpinfo .config
 	)
 	@+$(ULIMIT_FIX) $(SUBMAKE) -r $@
 
+endif
+
 help:
 	cat README
 
diff --git a/package/Makefile b/package/Makefile
index d46cb2ca0e3..3b4eecdf0bf 100644
--- a/package/Makefile
+++ b/package/Makefile
@@ -10,11 +10,8 @@ curdir:=package
 -include $(TMP_DIR)/.packagedeps
 $(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
 $(curdir)/builddirs-install:=.
-ifeq ($(SDK),1)
-else
-  $(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
-  $(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
-endif
+$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
+$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
 ifneq ($(IGNORE_ERRORS),)
   package-y-filter := $(package-y)
   package-m-filter := $(filter-out $(package-y),$(package-m))
diff --git a/target/sdk/convert-config.pl b/target/sdk/convert-config.pl
index 9fd2c362e6b..243de0b87b4 100755
--- a/target/sdk/convert-config.pl
+++ b/target/sdk/convert-config.pl
@@ -1,6 +1,13 @@
 #!/usr/bin/env perl
 use strict;
 
+print <<EOF;
+config ALL
+	bool
+	default y
+
+EOF
+
 while (<>) {
 	chomp;
 	next unless /^CONFIG_([^=]+)=(.*)$/;
@@ -9,6 +16,8 @@ while (<>) {
 	my $val = $2;
 	my $type;
 
+	next if $var eq 'ALL';
+
 	if ($val eq 'y') {
 		$type = "bool";
 	} elsif ($val eq 'm') {
-- 
GitLab