#!/usr/bin/perl -w | |
# According to your environment, please reset these three lines. | |
$sevenZipPath = "C:\\Progra~1\\7-Zip"; # According to your environment, please reset this lines. | |
$convertPath = "C:\\Progra~1\\ImageMagick-6.3.6-Q16"; # According to your environment, please reset this lines. | |
die "7zip folder $sevenZipPath did NOT exist\n" if (!-d $sevenZipPath); | |
die "convert folder $convertPath did NOT exist\n" if (!-d $convertPath); | |
$sevenZipFile = "${sevenZipPath}\\7za.exe"; | |
$convertFile = "${convertPath}\\convert.exe"; | |
die "7zip file $sevenZipFile did NOT exist\n" if (!-e $sevenZipFile); | |
die "convert file $convertFile did NOT exist\n" if (!-e $convertFile); | |
$MinGWPath = "C:\\MinGW"; # According to your environment, please reset this lines. | |
die "MinGW folder $MinGWPath did NOT exist\n" if (!-d $MinGWPath); | |
#******************************************************************** | |
# confirm package | |
#******************************************************************** | |
my $local_path = `cd`; | |
chomp $local_path; | |
my $make_path = $local_path."\\make"; | |
my $package = ""; | |
system ("dir $make_path\\rel_*.mak /b >rel.tmp"); | |
open(F, "rel.tmp") || die "Can not open tmp file!"; | |
while(<F>) | |
{ | |
chomp; | |
if ($_ =~ /_(OBJ)_/i) | |
{ | |
$package = $1; | |
last; | |
} | |
} | |
close(F); | |
system ("del /q rel.tmp"); | |
#******************************************************************** | |
# confirm which tool needed in OBJ package | |
#******************************************************************** | |
if ($package !~ /OBJ/i) | |
{ | |
$MSYSPath = "C:\\MSYS"; # According to your environment, please reset this lines. | |
die "MSYS folder $MSYSPath did NOT exist\n" if (!-d $MSYSPath); | |
$MSYSPath .= "\\1.0"; | |
die "MSYS folder $MSYSPath did NOT exist\n" if (!-d $MSYSPath); | |
@mapDirs = ( | |
[ "${MinGWPath}\\bin", qw(pcore\tools\MinGW\bin) ], | |
[ "${MinGWPath}\\lib", qw(pcore\tools\MinGW\lib) ], | |
[ "${MinGWPath}\\include", qw(pcore\tools\MinGW\include) ], | |
[ "${MSYSPath}\\bin", qw(pcore\tools\MSYS\bin) ], | |
[ "${MSYSPath}\\etc", qw(pcore\tools\MSYS\etc) ], | |
); | |
} | |
#******************************************************************** | |
# copy MinGW, MSYS directories | |
#******************************************************************** | |
for $i (0 .. $#mapDirs) | |
{ | |
die "Folder $mapDirs[$i][0] did NOT exist\n" if (!-d $mapDirs[$i][0]); | |
print("Copy folder $mapDirs[$i][0] to $mapDirs[$i][1]\n"); | |
system("mkdir $mapDirs[$i][1]") if (!-d $mapDirs[$i][1]); | |
system("xcopy /Y /Q /S $mapDirs[$i][0] $mapDirs[$i][1]"); | |
} | |
#******************************************************************** | |
# copy make.exe, 7za.exe, convert.exe | |
#******************************************************************** | |
$MinGWMake = "${MinGWPath}\\bin\\mingw32-make.exe"; | |
die "MinGW file $MinGWMake did NOT exist\n" if (!-e $MinGWMake); | |
@mapFiles = ( | |
[ $MinGWMake, qw(pcore\tools make.exe) ], | |
[ $sevenZipFile, qw(lcmmi\Customer\ResGenerator 7za.exe) ], | |
[ $convertFile, qw(lcmmi\Customer\ResGenerator convert.exe) ], | |
[ $sevenZipFile, qw(plutommi\Customer\ResGenerator 7za.exe) ], | |
[ $convertFile, qw(plutommi\Customer\ResGenerator convert.exe) ], | |
); | |
for $i (0 .. $#mapFiles) { | |
if (-d $mapFiles[$i][1]) { | |
print("Copy file $mapFiles[$i][0] to $mapFiles[$i][1]\\$mapFiles[$i][2]\n"); | |
system("copy /Y $mapFiles[$i][0] $mapFiles[$i][1]\\$mapFiles[$i][2] > nul 2>&1"); | |
} | |
} | |
system ("pcore\\tools\\chk_env.exe"); | |
exit 0; | |