7 |
|
BEGIN { |
8 |
|
use ToolBox; |
9 |
|
$buildfile="BuildFile"; |
10 |
< |
#$toolbox=ToolBox->new(); |
10 |
> |
$toolbox=ToolBox->new(); |
11 |
|
} |
12 |
|
|
13 |
|
#Parse the BuildFile |
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 |
39 |
|
$switch->{Strict_no_cr}='no'; |
40 |
|
#open a temporary gnumakefile to store output. |
41 |
|
use Utilities::AddDir; |
42 |
< |
adddir("$ENV{LOCALTOP}/$ENV{INTwork}/${path}"); |
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"; |
102 |
|
my $fileclass; |
103 |
|
my @tools; |
104 |
|
my $tool; |
105 |
+ |
my $filename; |
106 |
+ |
my $objectname; |
107 |
|
|
108 |
|
$hashref=$switch->SetupValueHash(\@vars); |
109 |
|
$switch->checkparam($hashref, $name, 'file'); |
110 |
|
if ( ! defined $$hashref{name} ) { |
111 |
|
($$hashref{name}=$$hashref{file})=~s/\..*//; |
112 |
|
} |
113 |
< |
$fileclass=getclass($file); |
114 |
< |
$toolbox->maketargets("exe",$fileclass, $$hashref{name}, $file ); |
115 |
< |
print GNUmakefile "bin::$file\n\n"; |
113 |
> |
# This stuff for later |
114 |
> |
#$fileclass=$toolbox->getclass($file); |
115 |
> |
#$toolbox->maketargets("exe",$fileclass, $$hashref{name}, $file ); |
116 |
> |
($filename=$$hashref{file})=~s/\..*//; |
117 |
> |
($objectname=$$hashref{file})=~s/\..*/\.o/; |
118 |
> |
($objectname_d=$$hashref{file})=~s/\..*/_d\.o/; |
119 |
> |
($objectname_Insure=$$hashref{file})=~s/\..*/_Insure\.o/; |
120 |
> |
print GNUmakefile "bin:$$hashref{name}\n"; |
121 |
> |
print GNUmakefile "bin_debug:$$hashref{name}_d\n"; |
122 |
> |
print GNUmakefile "bin_insure:$$hashref{name}_Insure\n"; |
123 |
> |
print GNUmakefile ".INTERMEDIATE::$$hashref{name}_d.exe\n"; |
124 |
> |
print GNUmakefile ".INTERMEDIATE::$$hashref{name}_Insure.exe\n"; |
125 |
> |
print GNUmakefile ".INTERMEDIATE::$$hashref{name}.exe\n"; |
126 |
> |
print GNUmakefile "$$hashref{name}_Insure:.psrc\n"; |
127 |
> |
print GNUmakefile "$$hashref{name}_d.exe:$objectname_d\n"; |
128 |
> |
print GNUmakefile "$$hashref{name}_Insure.exe:$objectname_Insure\n"; |
129 |
> |
print GNUmakefile "$$hashref{name}.exe:$objectname\n"; |
130 |
> |
# print GNUmakefile "$$hashref{name}:$$hashref{file}\n"; |
131 |
> |
print GNUmakefile "$$hashref{name}_d:$$hashref{name}_d.exe\n"; |
132 |
> |
print GNUmakefile "\t\@mv $$hashref{name}_d.exe \$(binarystore)/". |
133 |
> |
"$$hashref{name}\n"; |
134 |
> |
print GNUmakefile "$$hashref{name}_Insure:$$hashref{name}_Insure.exe\n"; |
135 |
> |
print GNUmakefile "\t\@mv $$hashref{name}_Insure.exe \$(binarystore)/". |
136 |
> |
"$$hashref{name}_Insure\n"; |
137 |
> |
print GNUmakefile "$$hashref{name}:$$hashref{name}.exe\n"; |
138 |
> |
print GNUmakefile "\t\@mv $$hashref{name}.exe \$(binarystore)/". |
139 |
> |
"$$hashref{name}\n"; |
140 |
> |
print GNUmakefile "binfiles+=$filename\n"; |
141 |
> |
print GNUmakefile "bintargets+=$$hashref{name} $$hashref{name}_d\n"; |
142 |
> |
print GNUmakefile "files+=$$hashref{file}\n"; |
143 |
> |
|
144 |
|
} |
145 |
|
|
146 |
|
sub External_StartTag { |
149 |
|
my $hashref; |
150 |
|
|
151 |
|
$hashref=$switch->SetupValueHash(\@vars); |
152 |
+ |
$$hashref{'ref'}=~tr[A-Z][a-z]; |
153 |
|
print GNUmakefile $$hashref{'ref'}; |
154 |
|
if ( defined $$hashref{'version'} ) { |
155 |
|
print GNUmakefile "_V_".$$hashref{'version'}; |
203 |
|
print GNUmakefile "local__$$hashref{name}=true\n"; |
204 |
|
} |
205 |
|
|
206 |
< |
sub CheckBuildFile($directory) { |
206 |
> |
sub CheckBuildFile { |
207 |
|
my $classdir=shift; |
208 |
|
$ClassName=""; |
209 |
|
$thisfile="$classdir/$buildfile"; |
234 |
|
} |
235 |
|
|
236 |
|
# Split up the Class Block String into a useable array |
237 |
< |
sub _CutBlock($string) { |
237 |
> |
sub _CutBlock { |
238 |
|
my $string= shift @_; |
239 |
|
@BlockClassA = split /\//, $string; |
240 |
|
} |