blob: b4041cc35028d549c69fdde073e898239e4f6a5c [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#!/usr/bin/perl
2#
3# Copyright Statement:
4# --------------------
5# This software is protected by Copyright and the information contained
6# herein is confidential. The software may not be copied and the information
7# contained herein may not be used or disclosed except with the written
8# permission of MediaTek Inc. (C) 2005
9#
10# BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
11# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
12# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
13# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
14# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
15# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
16# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
17# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
18# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
19# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
20# NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
21# SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
22#
23# BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
24# LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
25# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
26# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
27# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
28#
29# THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
30# WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
31# LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
32# RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
33# THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
34#
35#
36&Usage if ($#ARGV == -1);
37if ($ARGV[0] eq "-rm") {
38 $cphdr = 0;
39} elsif ($ARGV[0] eq "-cp") {
40 $cphdr = 1;
41} else {
42 Usage();
43}
44
45@mapDirs = (
46 [ qw(MinGW_Slim pcore\tools\MinGW) ],
47 [ qw(msys_Slim\1.0 pcore\tools\MSYS) ],
48 [ qw(make make) ],
49);
50
51@mapFiles = (
52 [ qw(Scripts\clean_obj.pl pcore\tools clean_obj.pl) ],
53 [ qw(MinGW\bin\mingw32-make.exe pcore\tools make.exe) ],
54 [ qw(MinGW\bin\objcopy.exe pcore\tools\MinGW\bin objcopy.exe) ],
55 [ qw(7-Zip_Slim\7za.exe lcmmi\Customer\ResGenerator 7za.exe) ],
56 [ qw(7-Zip_Slim\7za.exe plutommi\Customer\ResGenerator 7za.exe) ],
57 [ qw(7-Zip_Slim\convert.exe lcmmi\Customer\ResGenerator convert.exe) ],
58 [ qw(7-Zip_Slim\convert.exe plutommi\Customer\ResGenerator convert.exe) ],
59 [ qw(make\verifyCus.mak make verifyCus.mak) ],
60);
61
62@srcs = qw(
63# for AST (temporary)
64\\\\mbjswgwt1501\\E\\home\\3rd_party
65# end (for AST)
66\\\\glbfs14\\WCP\\sw_releases\\3rd_party
67\\\\mediatek.inc\\Taiwan\\WCP\\Public\\Public\\3rd_party
68\\\\mszsfs03\\Public\\SW_Releases\\3rd_party
69\\\\bjsfs05\\Public\\SW_Releases\\3rd_party
70\\\\mtisfs03\\Public\\SW_Releases\\3rd_party
71\\\\mtkrfs01\\Public1\\3rd_party
72);
73
74$src = "";
75foreach $d (@srcs) {
76 next if (!-d $d);
77 $src = $d;
78 last;
79}
80
81die "Could NOT find thiry parties source\n" if (($cphdr==1) && ($src eq ""));
82
83for $i (0 .. $#mapDirs) {
84 if ($cphdr==1) {
85 print("Copy folder ${src}\\$mapDirs[$i][0] to $mapDirs[$i][1]\n");
86 system("mkdir $mapDirs[$i][1]") if (!-d $mapDirs[$i][1]);
87 system("xcopy /Y /Q /S ${src}\\$mapDirs[$i][0] $mapDirs[$i][1]");
88 } elsif (-d $mapDirs[$i][1]) {
89 print("Remove directory: $mapDirs[$i][1]\n");
90 system("rd /s /q $mapDirs[$i][1]");
91 }
92}
93
94for $i (0 .. $#mapFiles) {
95 if ($cphdr==1) {
96 if (-d $mapFiles[$i][1]) {
97 print("Copy file ${src}\\$mapFiles[$i][0] to $mapFiles[$i][1]\\$mapFiles[$i][2]\n");
98 system("copy /Y ${src}\\$mapFiles[$i][0] $mapFiles[$i][1]\\$mapFiles[$i][2] > nul 2>&1");
99 }
100 } elsif (-e "$mapFiles[$i][1]\\$mapFiles[$i][2]") {
101 print("Remove file: $mapFiles[$i][1]\\$mapFiles[$i][2]\n");
102 system("del /f /q $mapFiles[$i][1]\\$mapFiles[$i][2]");
103 }
104}
105
106exit 0;
107
108sub Usage {
109 print <<"__EOFUSAGE";
110Usage: $0 [-rm | -cp]
111 -rm Remove third parties files
112 -cp Copy third parties files
113__EOFUSAGE
114 exit 1;
115}