/^Target-Name:\s*(.+)\s*$/ and $target->{name} = $1;
/^Target-Path:\s*(.+)\s*$/ and $target->{path} = $1;
/^Target-Arch:\s*(.+)\s*$/ and $target->{arch} = $1;
+ /^Target-Arch-Packages:\s*(.+)\s*$/ and $target->{arch_packages} = $1;
/^Target-Features:\s*(.+)\s*$/ and $target->{features} = [ split(/\s+/, $1) ];
/^Target-Depends:\s*(.+)\s*$/ and $target->{depends} = [ split(/\s+/, $1) ];
/^Target-Description:/ and $target->{desc} = get_multiline(*FILE);
my $target = shift;
my $features = target_config_features(@{$target->{features}});
my $help = $target->{desc};
- my $kernel = $target->{kernel};
my $confstr;
- $kernel =~ tr/./_/;
chomp $features;
$features .= "\n";
$confstr = <<EOF;
config TARGET_$target->{conf}
bool "$target->{name}"
- select LINUX_$kernel
select LINUX_$v
EOF
}
$target->{subtarget} or print "\t\tdefault \"".$target->{board}."\" if TARGET_".$target->{conf}."\n";
}
print <<EOF;
+config TARGET_ARCH_PACKAGES
+ string
+
+EOF
+ foreach my $target (@target) {
+ next if @{$target->{subtargets}} > 0;
+ print "\t\tdefault \"".($target->{arch_packages} || $target->{board})."\" if TARGET_".$target->{conf}."\n";
+ }
+ print <<EOF;
config DEFAULT_TARGET_OPTIMIZATION
string
$pkg->{buildonly} and $config = "";
print "package-$config += $pkg->{subdir}$pkg->{src}\n";
if ($pkg->{variant}) {
+ if (!defined($done{$pkg->{src}})) {
+ print "\$(curdir)/$pkg->{subdir}$pkg->{src}/default-variant := $pkg->{variant}\n";
+ }
print "\$(curdir)/$pkg->{subdir}$pkg->{src}/variants += \$(if $config,$pkg->{variant})\n"
}
$pkg->{prereq} and print "prereq-$config += $pkg->{subdir}$pkg->{src}\n";
$dep = $1;
$suffix = $2;
}
- my $pkg_dep = $package{$dep};
- next unless $pkg_dep;
my $idx = "";
- if (defined $pkg_dep->{src}) {
+ my $pkg_dep = $package{$dep};
+ if (defined($pkg_dep) && defined($pkg_dep->{src})) {
$idx = $pkg_dep->{subdir}.$pkg_dep->{src};
} elsif (defined($srcpackage{$dep})) {
$idx = $subdir{$dep}.$dep;
+ } else {
+ next;
}
my $depstr = "\$(curdir)/$idx$suffix/compile";
my $depline = get_conditional_dep($condition, $depstr);