|
|
|
@ -495,6 +495,7 @@ EOF |
|
|
|
|
sub gen_package_mk() { |
|
|
|
|
my %conf; |
|
|
|
|
my %dep; |
|
|
|
|
my %done; |
|
|
|
|
my $line; |
|
|
|
|
|
|
|
|
|
parse_package_metadata($ARGV[0]) or exit 1; |
|
|
|
@ -503,6 +504,9 @@ sub gen_package_mk() { |
|
|
|
|
my $pkg = $package{$name}; |
|
|
|
|
|
|
|
|
|
next if defined $pkg->{vdepends}; |
|
|
|
|
next if $done{$pkg->{src}}; |
|
|
|
|
$done{$pkg->{src}} = 1; |
|
|
|
|
|
|
|
|
|
if ($ENV{SDK}) { |
|
|
|
|
$conf{$pkg->{src}} or do { |
|
|
|
|
$config = 'm'; |
|
|
|
@ -518,23 +522,37 @@ sub gen_package_mk() { |
|
|
|
|
|
|
|
|
|
my $hasdeps = 0; |
|
|
|
|
my $depline = ""; |
|
|
|
|
foreach my $dep (@{$pkg->{depends}}, @{$pkg->{builddepends}}) { |
|
|
|
|
next if $dep =~ /@/; |
|
|
|
|
$dep =~ s/\+//; |
|
|
|
|
foreach my $deps (@{$pkg->{depends}}, @{$pkg->{builddepends}}) { |
|
|
|
|
next if $deps =~ /@/; |
|
|
|
|
$deps =~ s/\+//; |
|
|
|
|
my $idx; |
|
|
|
|
my $pkg_dep = $package{$dep}; |
|
|
|
|
next if defined $pkg_dep->{vdepends}; |
|
|
|
|
my $pkg_dep = $package{$deps}; |
|
|
|
|
my @deps; |
|
|
|
|
|
|
|
|
|
if (defined $pkg_dep->{src}) { |
|
|
|
|
($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; |
|
|
|
|
} elsif (defined($srcpackage{$dep})) { |
|
|
|
|
$idx = $subdir{$dep}.$dep; |
|
|
|
|
if ($pkg_dep->{vdepends}) { |
|
|
|
|
@deps = @{$pkg_dep->{vdepends}}; |
|
|
|
|
} else { |
|
|
|
|
@deps = ($deps); |
|
|
|
|
} |
|
|
|
|
undef $idx if $idx =~ /^(kernel)|(base-files)$/; |
|
|
|
|
if ($idx) { |
|
|
|
|
next if $dep{$pkg->{src}."->".$idx}; |
|
|
|
|
$depline .= " \$(curdir)/$idx/compile"; |
|
|
|
|
$dep{$pkg->{src}."->".$idx} = 1; |
|
|
|
|
|
|
|
|
|
foreach my $dep (@deps) { |
|
|
|
|
$pkg_dep = $package{$deps}; |
|
|
|
|
if (defined $pkg_dep->{src}) { |
|
|
|
|
($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; |
|
|
|
|
} elsif (defined($srcpackage{$dep})) { |
|
|
|
|
$idx = $subdir{$dep}.$dep; |
|
|
|
|
} |
|
|
|
|
undef $idx if $idx =~ /^(kernel)|(base-files)$/; |
|
|
|
|
if ($idx) { |
|
|
|
|
next if $dep{$pkg->{src}."->".$idx}; |
|
|
|
|
next if $pkg->{src} eq $pkg_dep->{src}; |
|
|
|
|
if ($pkg_dep->{vdepends}) { |
|
|
|
|
$depline .= " \$(if \$(CONFIG_PACKAGE_$dep),\$(curdir)/$idx/compile)"; |
|
|
|
|
} else { |
|
|
|
|
$depline .= " \$(curdir)/$idx/compile"; |
|
|
|
|
$dep{$pkg->{src}."->".$idx} = 1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if ($depline) { |
|
|
|
|