properly support dependencies on packages that just use Build/DefaultTargets

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7983 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2007-07-15 23:36:02 +00:00
parent ec15f6a3bd
commit 4463126a21
2 changed files with 5 additions and 5 deletions

View File

@ -31,7 +31,7 @@ endef
$(FILELIST): $(FILELIST):
rm -f tmp/info/.files-$(SCAN_TARGET)-* rm -f tmp/info/.files-$(SCAN_TARGET)-*
find $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@ find $(SCAN_DIR) $(SCAN_EXTRA) -mindepth 1 $(if $(SCAN_DEPTH),-maxdepth $(SCAN_DEPTH)) -name Makefile | xargs grep -HE 'call (Build/DefaultTargets|KernelPackage|Build(Package|Kernel))' | sed -e 's#^$(SCAN_DIR)/##' -e 's#/Makefile:.*##' | uniq > $@
tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST) tmp/info/.files-$(SCAN_TARGET).mk: $(FILELIST)
( \ ( \

View File

@ -4,6 +4,7 @@ my %preconfig;
my %package; my %package;
my %srcpackage; my %srcpackage;
my %category; my %category;
my %subdir;
sub get_multiline { sub get_multiline {
my $prefix = shift; my $prefix = shift;
@ -81,6 +82,7 @@ sub parse_package_metadata() {
$subdir = $2; $subdir = $2;
$src = $3; $src = $3;
$subdir =~ s/^package\///; $subdir =~ s/^package\///;
$subdir{$src} = $subdir;
$srcpackage{$src} = []; $srcpackage{$src} = [];
undef $pkg; undef $pkg;
}; };
@ -518,14 +520,12 @@ sub gen_package_mk() {
$dep =~ s/\+//; $dep =~ s/\+//;
my $idx; my $idx;
my $pkg_dep = $package{$dep}; my $pkg_dep = $package{$dep};
$pkg_dep or $pkg_dep = $srcpackage{$dep}->[0];
next unless defined $pkg_dep;
next if defined $pkg_dep->{vdepends}; next if defined $pkg_dep->{vdepends};
if (defined $pkg_dep->{src}) { if (defined $pkg_dep->{src}) {
($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src}; ($pkg->{src} ne $pkg_dep->{src}) and $idx = $pkg_dep->{subdir}.$pkg_dep->{src};
} elsif (defined($pkg_dep) && !defined($ENV{SDK})) { } elsif (defined($srcpackage{$dep})) {
$idx = $dep; $idx = $subdir{$dep}.$dep;
} }
undef $idx if $idx =~ /^(kernel)|(base-files)$/; undef $idx if $idx =~ /^(kernel)|(base-files)$/;
if ($idx) { if ($idx) {