ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/BuildFile.pm
(Generate patch)

Comparing COMP/SCRAM/src/BuildFile.pm (file contents):
Revision 1.1 by williamc, Mon Mar 1 10:37:52 1999 UTC vs.
Revision 1.9 by williamc, Tue Mar 23 15:30:10 1999 UTC

# Line 1 | Line 1
1 #!/usr/local/bin/perl5
2 #
3
1   package BuildFile;
2 + require 5.001;
3   require Exporter;
4   @ISA    = qw(Exporter);
5   @EXPORT = qw(CheckBuildFile ParseBuildFile @BlockClassA $DefaultBuildFile);
# Line 9 | Line 7 | require Exporter;
7   BEGIN {
8   use ToolBox;
9   $buildfile="BuildFile";
10 < #$toolbox=ToolBox->new();
10 > $toolbox=ToolBox->new();
11   }
12  
13   #Parse the BuildFile
# Line 31 | Line 29 | sub ParseBuildFile {
29                  'ConfigurationClass' => \&OutToMakefile,
30                  'AssociateGroup' => \&AssociateGroup,
31                  'none' => \&OutToMakefile,
32 <                'Bin' => \&OutToMakefile,
32 >                'Bin' => 'none',
33                  'Bin_StartTag' => \&Bin_start,
34                  'ClassPath' => \&OutToMakefile,
35                  'ClassPath_StartTag' => \&setBlockClassPath
36          };
37 <        use Switcher;
37 >        use Utilities::Switcher;
38          $switch=Switcher->new($SupportedTags, $fullfilename);
39          $switch->{Strict_no_cr}='no';
40          #open a temporary gnumakefile to store output.
41 <        use AddDir;
42 <        adddir("$ENV{LOCALTOP}/$ENV{INTwork}/${path}");
41 >        use Utilities::AddDir;
42 >        AddDir::adddir("$ENV{LOCALTOP}/$ENV{INTwork}/${path}");
43          open ( GNUmakefile, ">$ENV{LOCALTOP}/$ENV{INTwork}/${path}/BuildFile.mk") or die 'Unable to open /$ENV{INTwork}/${path}/BuildFile.mk $!\n';
44          if ( -e $ENV{LatestBuildFile} ) {
45            print GNUmakefile "include $ENV{LatestBuildFile}\n";
# Line 110 | Line 108 | sub Bin_start {
108          if ( ! defined $$hashref{name} ) {
109                  ($$hashref{name}=$$hashref{file})=~s/\..*//;
110          }
111 <        $fileclass=getclass($file);
112 <        $toolbox->maketargets("exe",$fileclass, $$hashref{name}, $file );
113 <        print GNUmakefile "bin::$file\n\n";
111 >        # This stuff for later
112 >        #$fileclass=$toolbox->getclass($file);
113 >        #$toolbox->maketargets("exe",$fileclass, $$hashref{name}, $file );
114 >        print GNUmakefile "bin:$$hashref{name}\n";
115 >        print GNUmakefile "bin_debug:$$hashref{name}\n";
116 >        print GNUmakefile "$$hashref{name}::$$hashref{file}\n";
117   }
118  
119   sub External_StartTag {
# Line 121 | Line 122 | sub External_StartTag {
122          my $hashref;
123          
124          $hashref=$switch->SetupValueHash(\@vars);
125 +        $$hashref{'ref'}=~tr[A-Z][a-z];
126          print GNUmakefile $$hashref{'ref'};
127          if ( defined $$hashref{'version'} ) {
128                  print GNUmakefile "_V_".$$hashref{'version'};
# Line 163 | Line 165 | sub Use_start {
165          my @vars=@_;
166          my $hashref;
167          my $filename;
168 <        use SCRAMUtils;
168 >        use Utilities::SCRAMUtils;
169          
170          $hashref=$switch->SetupValueHash(\@vars);
171          $switch->checkparam($hashref, $name, "name");
# Line 174 | Line 176 | sub Use_start {
176          print GNUmakefile "local__$$hashref{name}=true\n";
177   }
178  
179 < sub CheckBuildFile($directory) {
179 > sub CheckBuildFile {
180           my $classdir=shift;
181           $ClassName="";
182           $thisfile="$classdir/$buildfile";
# Line 205 | Line 207 | sub AssociateGroup {
207   }
208  
209   # Split up the Class Block String into a useable array
210 < sub _CutBlock($string) {
210 > sub _CutBlock {
211      my $string= shift @_;
212      @BlockClassA = split /\//, $string;
213   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines