7 |
|
# ParseBuildFileExport(filename) |
8 |
|
# BlockClassPath() : Return the class path |
9 |
|
# ignore() : return 1 if directory should be ignored 0 otherwise |
10 |
+ |
# classname() : get/set the associated class |
11 |
+ |
# buildfile() : get/set BuildFile location |
12 |
|
|
13 |
|
package BuildSystem::BuildFile; |
14 |
|
use ActiveDoc::SimpleDoc; |
31 |
|
return $self; |
32 |
|
} |
33 |
|
|
34 |
+ |
sub buildfile { |
35 |
+ |
my $self=shift; |
36 |
+ |
if ( @_ ) { |
37 |
+ |
$self->{buildfile}=shift; |
38 |
+ |
} |
39 |
+ |
return $self->{buildfile}; |
40 |
+ |
} |
41 |
+ |
|
42 |
|
sub ignore { |
43 |
|
my $self=shift; |
44 |
|
return (defined $self->{ignore})?$self->{ignore}:0; |
202 |
|
close GNUmakefile; |
203 |
|
} |
204 |
|
|
205 |
+ |
sub classname { |
206 |
+ |
my $self=shift; |
207 |
+ |
if ( @_ ) { |
208 |
+ |
$self->{classname}=shift; |
209 |
+ |
} |
210 |
+ |
return $self->{classname}; |
211 |
+ |
} |
212 |
+ |
|
213 |
|
sub ParseBuildFile_Export { |
214 |
|
my $self=shift; |
215 |
|
my $filename=shift; |
289 |
|
|
290 |
|
if ( $self->{Arch} ) { |
291 |
|
if ( defined $$hashref{'type'} ) { |
292 |
< |
$ClassName=$$hashref{'type'}; |
292 |
> |
$self->classname($$hashref{'type'}); |
293 |
|
} |
294 |
|
} |
295 |
|
} |
400 |
|
# print $typefile "\t\$(_quietbuild_)"; |
401 |
|
# print $typefile $mapper->template($$hashref{'class'},$type)."\n"; |
402 |
|
# print $typefile "\t\$(_quietstamp_)"; |
403 |
< |
# print $typefile "$(SCRAMPERL) $(SCRAM_HOME)/src/scramdatestamp \$@.ds \$@ \$^\n"; |
403 |
> |
# print $typefile "\$(SCRAMPERL) \$(SCRAM_HOME)/src/scramdatestamp \$@.ds \$@ \$^\n"; |
404 |
|
|
405 |
|
# -- cleaning targets |
406 |
|
push @targets, "clean_$dirname"; |
558 |
|
print binGNUmakefile "$$hashref{name}_Insure.exe:.psrc\n"; |
559 |
|
print binGNUmakefile "$$hashref{name}_d.exe:$objectname_d\n"; |
560 |
|
print binGNUmakefile "\t\$(CClinkCmdDebug)\n"; |
561 |
< |
print binGNUmakefile "\t\@\$(SCRAMPERL) $(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
561 |
> |
print binGNUmakefile "\t\@\$(SCRAMPERL) \$(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
562 |
|
print binGNUmakefile "$$hashref{name}_l_d.exe:$objectname_d\n"; |
563 |
|
print binGNUmakefile "\t\$(CClinkCmdDebugLocal)\n"; |
564 |
< |
print binGNUmakefile "\t\@\$(SCRAMPERL) $(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
564 |
> |
print binGNUmakefile "\t\@\$(SCRAMPERL) \$(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
565 |
|
print binGNUmakefile "$$hashref{name}_Insure.exe:$objectname_Insure\n"; |
566 |
|
print binGNUmakefile "\t\$(CClinkCmdInsure)\n"; |
567 |
< |
print binGNUmakefile "\t\@\$(SCRAMPERL) $(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
567 |
> |
print binGNUmakefile "\t\@\$(SCRAMPERL) \$(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
568 |
|
print binGNUmakefile "$$hashref{name}_o.exe:$objectname_o\n"; |
569 |
|
print binGNUmakefile "\t\$(CClinkCmd)\n"; |
570 |
< |
print binGNUmakefile "\t\@\$(SCRAMPERL) $(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
570 |
> |
print binGNUmakefile "\t\@\$(SCRAMPERL) \$(SCRAM_HOME)/src/scramdatestamp \$\@\.ds \$\@ \$\^\n"; |
571 |
|
print binGNUmakefile "$$hashref{name}.dep:$$hashref{file}\n"; |
572 |
|
print binGNUmakefile "-include $$hashref{name}.dep\n"; |
573 |
|
print binGNUmakefile <<ENDTEXT; |
697 |
|
} |
698 |
|
} |
699 |
|
|
682 |
– |
sub CheckBuildFile { |
683 |
– |
my $self=shift; |
684 |
– |
my $classdir=shift; |
685 |
– |
my $ClassName=""; |
686 |
– |
my $thisfile="$classdir/$buildfile"; |
687 |
– |
|
688 |
– |
if ( -e $self->{localtop}."/".$thisfile ) { |
689 |
– |
$DefaultBuildfile="$self->{localtop}/$thisfile"; |
690 |
– |
$self->ParseBuildFile($self->{localtop}, $classdir, $buildfile); |
691 |
– |
} |
692 |
– |
elsif ( -e $ENV{RELEASETOP}."/".$thisfile ) { |
693 |
– |
$DefaultBuildfile="$ENV{RELEASETOP}/$thisfile"; |
694 |
– |
$self->ParseBuildFile($ENV{RELEASETOP}, $classdir, $buildfile); |
695 |
– |
} |
696 |
– |
return $ClassName; |
697 |
– |
} |
698 |
– |
|
700 |
|
# List association groups between <AssociateGroup> tags |
701 |
|
# seperated by newlines or spaces |
702 |
|
sub AssociateGroup { |