From fb8b4548a0193022e19c6c920d925fd9c8d73343 Mon Sep 17 00:00:00 2001 From: nbd Date: Tue, 9 Jan 2007 19:15:27 +0000 Subject: extend tmp/.target.mk to include target profile information - preparation for the image builder git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6050 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- scripts/gen_target_mk.pl | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) (limited to 'scripts') 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 <{version} LINUX_RELEASE:=$target->{release} LINUX_KARCH:=$target->{karch} - endef -endif + endef$profiles_def +endif$profiles_eval EOF } -- cgit v1.2.3