summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rules.mk4
-rwxr-xr-xscripts/metadata.pl19
2 files changed, 23 insertions, 0 deletions
diff --git a/rules.mk b/rules.mk
index 5c66dfde1..4a0fa32e3 100644
--- a/rules.mk
+++ b/rules.mk
@@ -138,6 +138,10 @@ $(call shvar,$(1))=$$(call $(1))
export $(call shvar,$(1))
endef
+define confvar
+$(foreach v,$(1),$(if $($(v)),y,n))
+endef
+
# file extension
ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
diff --git a/scripts/metadata.pl b/scripts/metadata.pl
index 914b5127b..2898289bc 100755
--- a/scripts/metadata.pl
+++ b/scripts/metadata.pl
@@ -173,6 +173,13 @@ sub target_name($) {
}
}
+sub kver($) {
+ my $v = shift;
+ $v =~ tr/\./_/;
+ $v =~ /(\d+_\d+_\d+)(_\d+)?/ and $v = $1;
+ return $v;
+}
+
sub print_target($) {
my $target = shift;
my $features = target_config_features(@{$target->{features}});
@@ -190,10 +197,12 @@ sub print_target($) {
undef $help;
}
+ my $v = kver($target->{version});
$confstr = <<EOF;
config TARGET_$target->{conf}
bool "$target->{name}"
select LINUX_$kernel
+ select LINUX_$v
EOF
if ($target->{subtarget}) {
$confstr .= "\tdepends TARGET_$target->{boardconf}\n";
@@ -296,6 +305,16 @@ EOF
$target->{subtarget} or print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n";
}
+ my %kver;
+ foreach my $target (@target) {
+ my $v = kver($target->{version});
+ next if $kver{$v};
+ $kver{$v} = 1;
+ print <<EOF;
+config LINUX_$v
+ bool
+EOF
+ }
}
my %dep_check;