diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 99fdba1c819665746200c1e82cc0fd4b6bc5a71a..6ad3c39f003854e1c85a5422e8b24e070ad37765 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -321,6 +321,18 @@ EOF
 		$target->{subtarget} or	print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n";
 	}
 	print <<EOF;
+config TARGET_SUBTARGET
+	string
+	default "generic" if !HAS_SUBTARGETS
+
+EOF
+
+	foreach my $target (@target) {
+		foreach my $subtarget (@{$target->{subtargets}}) {
+			print "\t\tdefault \"$subtarget\" if TARGET_".$target->{conf}."_$subtarget\n";
+		}
+	}
+	print <<EOF;
 config TARGET_ARCH_PACKAGES
 	string