|
|
|
@ -5,6 +5,7 @@ my %package; |
|
|
|
|
my %srcpackage; |
|
|
|
|
my %category; |
|
|
|
|
my %subdir; |
|
|
|
|
my %board; |
|
|
|
|
|
|
|
|
|
sub get_multiline { |
|
|
|
|
my $prefix = shift; |
|
|
|
@ -18,21 +19,28 @@ sub get_multiline { |
|
|
|
|
return $str; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sub confstr($) { |
|
|
|
|
my $conf = shift; |
|
|
|
|
$conf =~ tr#/\.\-/#___#; |
|
|
|
|
return $conf; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sub parse_target_metadata() { |
|
|
|
|
my ($target, @target, $profile); |
|
|
|
|
while (<>) { |
|
|
|
|
chomp; |
|
|
|
|
/^Target:\s*(.+)\s*$/ and do { |
|
|
|
|
my $conf = $1; |
|
|
|
|
$conf =~ tr#/\.\-/#___#; |
|
|
|
|
$target = { |
|
|
|
|
id => $1, |
|
|
|
|
conf => $conf, |
|
|
|
|
conf => confstr($1), |
|
|
|
|
profiles => [] |
|
|
|
|
}; |
|
|
|
|
push @target, $target; |
|
|
|
|
}; |
|
|
|
|
/^Target-Board:\s*(.+)\s*$/ and $target->{board} = $1; |
|
|
|
|
/^Target-Board:\s*(.+)\s*$/ and do { |
|
|
|
|
$target->{board} = $1; |
|
|
|
|
$target->{boardconf} = confstr($1); |
|
|
|
|
}; |
|
|
|
|
/^Target-Kernel:\s*(\d+\.\d+)\s*$/ and $target->{kernel} = $1; |
|
|
|
|
/^Target-Name:\s*(.+)\s*$/ and $target->{name} = $1; |
|
|
|
|
/^Target-Path:\s*(.+)\s*$/ and $target->{path} = $1; |
|
|
|
@ -247,14 +255,16 @@ EOF |
|
|
|
|
undef $help; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
print <<EOF |
|
|
|
|
print <<EOF; |
|
|
|
|
config TARGET_$target->{conf} |
|
|
|
|
bool "$target->{name}" |
|
|
|
|
select $target->{arch} |
|
|
|
|
select LINUX_$kernel |
|
|
|
|
$features$help |
|
|
|
|
|
|
|
|
|
EOF |
|
|
|
|
if ($target->{id} ne $target->{board}) { |
|
|
|
|
print "\tselect TARGET_".$target->{boardconf}."\n"; |
|
|
|
|
} |
|
|
|
|
print "$features$help\n\n" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
print <<EOF; |
|
|
|
@ -266,6 +276,15 @@ EOF |
|
|
|
|
foreach my $target (@target) { |
|
|
|
|
print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
# add hidden target config options |
|
|
|
|
foreach my $target (@target) { |
|
|
|
|
next if $board{$target->{board}}; |
|
|
|
|
if ($target->{id} ne $target->{board}) { |
|
|
|
|
print "\nconfig TARGET_".$target->{boardconf}."\n\tbool\n"; |
|
|
|
|
$board{$target->{board}} = 1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
print <<EOF; |
|
|
|
|
|
|
|
|
|
choice |
|
|
|
|