version 1.3, 2011/02/02 01:15:25
|
version 1.4, 2011/02/04 01:33:56
|
Line 54 use Data::Dumper; |
|
Line 54 use Data::Dumper; |
|
| |
use constant kMakeDiv => "__MAKE__"; | use constant kMakeDiv => "__MAKE__"; |
use constant kProjDiv => "__PROJ__"; | use constant kProjDiv => "__PROJ__"; |
|
use constant kProjCfgDiv => "__PROJCFG__"; |
use constant kEndDiv => "__END__"; | use constant kEndDiv => "__END__"; |
use constant kStUnk => 0; | use constant kStUnk => 0; |
use constant kStMake => 1; | use constant kStMake => 1; |
use constant kStProj => 2; | use constant kStProj => 2; |
|
use constant kStProjCfg => 3; |
use constant kMakeFile => "make_basic.mk"; | use constant kMakeFile => "make_basic.mk"; |
use constant kTargetFile => "target.mk"; | use constant kTargetFile => "target.mk"; |
use constant kRulesFile => "Rules.mk"; | use constant kRulesFile => "Rules.mk"; |
|
use constant kProjCfgFile => "configure"; |
use constant kMakeVarCOMPILER => "COMPILER"; | use constant kMakeVarCOMPILER => "COMPILER"; |
use constant kMakeVarFCOMPILER => "FCOMPILER"; | use constant kMakeVarFCOMPILER => "FCOMPILER"; |
use constant kMakeVarJSOC_MACHINE => "JSOC_MACHINE"; | use constant kMakeVarJSOC_MACHINE => "JSOC_MACHINE"; |
|
|
my($val); | my($val); |
my($mdiv); | my($mdiv); |
my($pdiv); | my($pdiv); |
|
my($pcdiv); |
my($ediv); | my($ediv); |
my($xml); | my($xml); |
| |
Line 109 if (defined($cfgfile) && -e $cfgfile) |
|
Line 113 if (defined($cfgfile) && -e $cfgfile) |
|
{ | { |
my($makedone); | my($makedone); |
my($projdone); | my($projdone); |
|
my($projcfgdone); |
| |
$st = kStUnk; | $st = kStUnk; |
$mdiv = kMakeDiv; | $mdiv = kMakeDiv; |
$pdiv = kProjDiv; | $pdiv = kProjDiv; |
|
$pcdiv = kProjCfgDiv; |
$ediv = kEndDiv; | $ediv = kEndDiv; |
| |
$makedone = 0; | $makedone = 0; |
$projdone = 0; | $projdone = 0; |
|
$projcfgdone = 0; |
| |
while (defined($line = <CFGFILE>)) | while (defined($line = <CFGFILE>)) |
{ | { |
Line 162 if (defined($cfgfile) && -e $cfgfile) |
|
Line 169 if (defined($cfgfile) && -e $cfgfile) |
|
$xml = ""; | $xml = ""; |
next; | next; |
} | } |
|
elsif ($line =~ /^$pcdiv/) |
|
{ |
|
$st = kStProjCfg; |
|
if (!open(PROJCFGFILE, ">${locdir}/" . kProjCfgFile)) |
|
{ |
|
print STDERR "Unable to open " . kProjCfgFile . " for writing.\n"; |
|
$err = 1; |
|
last; |
|
} |
|
|
|
next; |
|
} |
elsif ($line =~ /^$ediv/) | elsif ($line =~ /^$ediv/) |
{ | { |
if ($st == kStMake) | if ($st == kStMake) |
Line 172 if (defined($cfgfile) && -e $cfgfile) |
|
Line 191 if (defined($cfgfile) && -e $cfgfile) |
|
{ | { |
$projdone = 1; | $projdone = 1; |
} | } |
|
elsif ($st == kStProjCfg) |
|
{ |
|
$projcfgdone = 1; |
|
} |
| |
$st = kStUnk; | $st = kStUnk; |
| |
if ($makedone && $projdone) |
if ($makedone && $projdone && $projcfgdone) |
{ | { |
last; | last; |
} | } |
Line 193 if (defined($cfgfile) && -e $cfgfile) |
|
Line 216 if (defined($cfgfile) && -e $cfgfile) |
|
# suck out xml | # suck out xml |
$xml = $xml . "$line\n"; | $xml = $xml . "$line\n"; |
} | } |
|
elsif ($st == kStProjCfg) |
|
{ |
|
# copy verbatim to configure |
|
print PROJCFGFILE "$line\n"; |
|
} |
} # loop over cfg file | } # loop over cfg file |
| |
close(CFGFILE); | close(CFGFILE); |
Line 319 if (defined($cfgfile) && -e $cfgfile) |
|
Line 347 if (defined($cfgfile) && -e $cfgfile) |
|
| |
close(TARGETFILE); | close(TARGETFILE); |
close(RULESFILE); | close(RULESFILE); |
|
close(PROJCFGFILE); |
close(MKFILE); | close(MKFILE); |
|
|
|
if (chmod(0744, "${locdir}/" . kProjCfgFile) != 1) |
|
{ |
|
print STDERR "Unable to set file permissions for ${locdir}/" . kProjCfgFile . ".\n"; |
|
$err = 1; |
|
} |
} | } |
else | else |
{ | { |
print STDERR "Unable to open configuration file $cfgfile.\n"; | print STDERR "Unable to open configuration file $cfgfile.\n"; |
exit(1); |
$err = 1; |
} | } |
} | } |
| |