tools/cmake: fix parallel build with Make 4.2+
[openwrt/openwrt.git] / scripts / metadata.pm
index 3b756216a5ee7fac5ba31497f75ff5741d1d4998..c7f8532b54e36e93beac06096f57f046694df5be 100644 (file)
@@ -87,17 +87,16 @@ sub parse_target_metadata($) {
                                priority => 999,
                                packages => []
                        };
+                       $1 =~ /^DEVICE_/ and $target->{has_devices} = 1;
                        push @{$target->{profiles}}, $profile;
                };
-               /^Target-Profile-Name:\s*(.+)\s*$/ and do {
+               /^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
+               /^Target-Profile-Priority:\s*(\d+)\s*$/ and do {
+                       $profile->{priority} = $1;
                        $target->{sort} = 1;
-                       $profile->{name} = $1;
                };
-               /^Target-Profile-Priority:\s*(\d+)\s*$/ and $profile->{priority} = $1;
                /^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ];
                /^Target-Profile-Description:\s*(.*)\s*/ and $profile->{desc} = get_multiline(*FILE);
-               /^Target-Profile-Config:/ and $profile->{config} = get_multiline(*FILE, "\t");
-               /^Target-Profile-Kconfig:/ and $profile->{kconfig} = 1;
        }
        close FILE;
        foreach my $target (@target) {
@@ -112,6 +111,11 @@ sub parse_target_metadata($) {
                                packages => []
                        }
                ];
+
+               $target->{sort} and @{$target->{profiles}} = sort {
+                       $a->{priority} <=> $b->{priority} or
+                       $a->{name} cmp $b->{name};
+               } @{$target->{profiles}};
        }
        return @target;
 }