48 |
|
\&Bin_start,$self, |
49 |
|
\&OutToScreen, $self, |
50 |
|
"", $self); |
51 |
+ |
$switch->addtag($parse,"ProductStore", |
52 |
+ |
\&Store_start,$self, |
53 |
+ |
"", $self, |
54 |
+ |
"", $self); |
55 |
|
$switch->addtag($parse,"LibType", |
56 |
|
\&LibType_Start,$self, |
57 |
|
\&LibType_text, $self, |
918 |
|
} |
919 |
|
} |
920 |
|
} |
921 |
+ |
|
922 |
+ |
sub Store_start { |
923 |
+ |
my $self=shift; |
924 |
+ |
my $name=shift; |
925 |
+ |
my $hashref=shift; |
926 |
+ |
|
927 |
+ |
if ( $self->{Arch} ) { |
928 |
+ |
$self->{switch}->checktag( $name, $hashref, 'name' ); |
929 |
+ |
|
930 |
+ |
# -- store creation |
931 |
+ |
my $dir=$$hashref{'name'}; |
932 |
+ |
AddDir::adddir($self->{area}->location()."/".$dir); |
933 |
+ |
if ( exists $$hashref{'type'} ) { |
934 |
+ |
# -- architecture specific store |
935 |
+ |
if ( $$hashref{'type'}=~/^arch/i ) { |
936 |
+ |
$dir=$dir."/".$ENV{SCRAM_ARCH}; |
937 |
+ |
AddDir::adddir($self->{area}->location()."/".$dir); |
938 |
+ |
} |
939 |
+ |
else { |
940 |
+ |
$self->parseerror("Unknown type in <$name> tag"); |
941 |
+ |
} |
942 |
+ |
} |
943 |
+ |
|
944 |
+ |
# -- set make variables for the store |
945 |
+ |
print GNUmakefile "SCRAMSTORENAME_".$$hashref{'name'}.":=".$dir."\n"; |
946 |
+ |
print GNUmakefile "SCRAMSTORE_".$$hashref{'name'}.":=". |
947 |
+ |
$self->{localtop}."/".$dir."\n"; |
948 |
+ |
print GNUmakefile "VPATH+=".$self->{localtop} |
949 |
+ |
."/".$dir.":".$self->{releasetop}."/".$dir."\n"; |
950 |
+ |
} |
951 |
+ |
} |
952 |
+ |
|