From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 9 Jan 2007 19:15:27 +0000 (+0000)
Subject: extend tmp/.target.mk to include target profile information - preparation for the... 
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5e38ee74a5e3bc6cca493310bb3532f959b0260f;p=openwrt%2Fstaging%2Fwigyori.git

extend tmp/.target.mk to include target profile information - preparation for the image builder

SVN-Revision: 6050
---

diff --git a/scripts/gen_target_mk.pl b/scripts/gen_target_mk.pl
index 52f2a5c06d..0e4d50a74c 100755
--- a/scripts/gen_target_mk.pl
+++ b/scripts/gen_target_mk.pl
@@ -10,6 +10,7 @@ use strict;
 
 my @target;
 my $target;
+my $profile;
 
 while (<>) {
 	chomp;
@@ -17,18 +18,15 @@ while (<>) {
 		$target = {
 			id => $1,
 			board => $2,
-			kernel => $3
+			kernel => $3,
+			profiles => []
 		};
 		push @target, $target;
 	};
 	/^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-Features:\s*(.+)\s*$/ and do {
-		my $f = [];
-		$target->{features} = $f;
-		@$f = split /\s+/, $1;
-	};
+	/^Target-Features:\s*(.+)\s*$/ and $target->{features} = [ split(/\s+/, $1) ];
 	/^Target-Description:/ and do {
 		my $desc;
 		while (<>) {
@@ -40,6 +38,17 @@ while (<>) {
 	/^Linux-Version:\s*(.+)\s*$/ and $target->{version} = $1;
 	/^Linux-Release:\s*(.+)\s*$/ and $target->{release} = $1;
 	/^Linux-Kernel-Arch:\s*(.+)\s*$/ and $target->{karch} = $1;
+	/^Default-Packages:\s*(.+)\s*$/ and $target->{packages} = [ split(/\s+/, $1) ];
+	/^Target-Profile:\s*(.+)\s*$/ and do {
+		$profile = {
+			id => $1,
+			name => $1,
+			packages => []
+		};
+		push @{$target->{profiles}}, $profile;
+	};
+	/^Target-Profile-Name:\s*(.+)\s*$/ and $profile->{name} = $1;
+	/^Target-Profile-Packages:\s*(.*)\s*$/ and $profile->{packages} = [ split(/\s+/, $1) ];
 }
 
 @target = sort {
@@ -47,8 +56,20 @@ while (<>) {
 } @target;
 
 foreach $target (@target) {
+	my ($profiles_def, $profiles_eval);
 	my $conf = uc $target->{kernel}.'_'.$target->{board};
 	$conf =~ tr/\.-/__/;
+	
+	foreach my $profile (@{$target->{profiles}}) {
+		$profiles_def .= "
+  define Profile/$conf\_$profile->{id}
+    ID:=$profile->{id}
+    NAME:=$profile->{name}
+    PACKAGES:=".join(" ", @{$profile->{packages}})."
+  endef";
+  $profiles_eval .= "
+\$(eval \$(call Profile,$conf\_$profile->{id}))"
+	}
 	print <<EOF
 ifeq (\$(CONFIG_LINUX_$conf),y)
   define Target
@@ -57,8 +78,8 @@ ifeq (\$(CONFIG_LINUX_$conf),y)
     LINUX_VERSION:=$target->{version}
     LINUX_RELEASE:=$target->{release}
     LINUX_KARCH:=$target->{karch}
-  endef
-endif
+  endef$profiles_def
+endif$profiles_eval
 
 EOF
 }