[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/tools/init/recursive_dir.pl b/mcu/tools/init/recursive_dir.pl
new file mode 100644
index 0000000..135dcbc
--- /dev/null
+++ b/mcu/tools/init/recursive_dir.pl
@@ -0,0 +1,205 @@
+#!/usr/bin/perl
+#
+# Copyright Statement:
+# --------------------
+# This software is protected by Copyright and the information contained
+# herein is confidential. The software may not be copied and the information
+# contained herein may not be used or disclosed except with the written
+# permission of MediaTek Inc. (C) 2005
+#
+# BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+# NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+# SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+#
+# BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+# LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+#
+# THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+# WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+# LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+# RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+# THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+#
+#
+#*****************************************************************************
+#*****************************************************************************
+##*
+##* Filename:
+##* ---------
+##* find.pl
+##*
+##* Project:
+##* --------
+##* MOLY_Software
+##*
+##* Description:
+##* ------------
+##* list directory contents
+##*
+##* Author:
+##* -------
+##* kk Lin-Wang (mtk04222)
+##*
+##*============================================================================
+use strict;
+use warnings;
+use File::Find;
+
+my $option = "all";
+my $root_dir;
+my $regex;
+my $re_code;
+my @all_list;
+
+# process arguments
+if($#ARGV >= 0){
+ $option = shift;
+ if ($option =~ /^\-f\b/) {
+ $option = "file";
+ } elsif ($option =~ /^\-d\b/) {
+ $option = "folder";
+ } else {
+ unshift @ARGV, $option;
+ $option = "all";
+ }
+}
+$root_dir = shift || '.';
+$regex = shift || '.';
+&error_handler("$root_dir can Not be found !", __FILE__, __LINE__) if(! -e $root_dir);
+
+# search recursively
+find(\&want ,$root_dir);
+
+# list the search results by option
+$re_code = &output_lists(\@all_list, $regex);
+&error_handler("execution failed!", __FILE__, __LINE__) if($re_code != 0);
+
+#******************************************************************************
+# FUNCTION
+# want
+# DESCRIPTION
+# The function does whatever verifications you want.
+#******************************************************************************
+sub want
+{
+ if ($option eq "all") {
+ push @all_list, $File::Find::name if(-e $_);
+ } elsif ($option eq "file") {
+ push @all_list, $File::Find::name if(-f $_);
+ } elsif ($option eq "folder") {
+ push @all_list, $File::Find::name if(-d $_);
+ } else {
+ &error_handler("No such option valut: $option !", __FILE__, __LINE__)
+ }
+}
+
+
+#******************************************************************************
+# FUNCTION
+# output_lists
+# DESCRIPTION
+# output the files/folders according to regular expr
+# PARAMETER
+# @list : output list
+# $rule : regular expression
+#******************************************************************************
+sub output_lists
+{
+ my $lists = shift;
+ my $rule = shift;
+ foreach my $f (@$lists)
+ {
+ next if($f eq ".");
+ next if($f eq "..");
+ print $f."\n" if($f =~ /$rule$/);
+ }
+
+ return 0;
+}
+
+
+#****************************************************************************
+# FUNCTION
+# error_handler
+# PARAMETER
+# $error_msg: error message
+# $file : file
+# $line_no : line number
+#****************************************************************************
+sub error_handler
+{
+ my ($error_msg, $file, $line_no) = @_;
+
+ my $final_error_msg = "RECURSIVE_DIR Error: $error_msg at $file line $line_no\n";
+ print $final_error_msg;
+ die $final_error_msg;
+}
+
+
+#******************************************************************************
+# FUNCTION
+# Usage
+# DESCRIPTION
+# Display the manipulation of this script
+#******************************************************************************
+sub Usage
+{
+ warn <<"_END_OF_USAGE";
+Usage:
+ perl recursive_dir.pl [-f|-d] [path] [regular expression]
+Description:
+ List directory/sub-directory contents.
+ By default, the path and regular expression is '.'
+ -f only list the files.
+ -d only list the folders.
+Example:
+ current path:
+ -foo (folder)
+ --foo.pl (file)
+ -sum.txt (file)
+ =====================================
+ ex1:
+ Command:
+ perl recursive_dir.pl
+ Output:
+ ./sum.txt
+ ./foo
+ ./foo/foo.pl
+ ------------------------------------
+ ex2:
+ Command:
+ perl recursive_dir.pl -f
+ Output:
+ ./sum.txt
+ ./foo/foo.pl
+ ------------------------------------
+ ex3:
+ Command:
+ perl recursive_dir.pl foo
+ Output:
+ foo
+ foo/foo.pl
+ ------------------------------------
+ ex4:
+ Command:
+ perl recursive_dir.pl foo "\\.pl"
+ Output:
+ foo/foo.pl
+ ------------------------------------
+
+_END_OF_USAGE
+ exit 1;
+}
+