blob: 6edaceaaa50847406743823cebd263662d057926 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#!/usr/bin/perl -w
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#*****************************************************************************
37
38use File::Find;
39my $OUT_FLIE = $ARGV[0];
40
41if (-e $OUT_FLIE){
42 unlink $OUT_FLIE;
43}
44
45my @MAKEFILE_FOLDERS = qw/ module\/driver module\/middleware module\/service module\/protocol module\/l1 module\/custom /;
46
47my @makefiles;
48
49
50foreach $category (@MAKEFILE_FOLDERS) {
51 &findMakefiles("make/$category");
52}
53
54
55open FILE, ">>$OUT_FLIE" or die "[ERROR] open file fail.";
56foreach $path (@makefiles){
57 if ($path =~ /make\/(.*)\/(\S*).mak/){
58 $module = uc $2;
59 print FILE $module."_MODULE_CATEGORY = $1\n";
60 #print "$path\n";
61 }
62 if ($path =~ /make\/module\/([^\/]*)/){
63 print FILE $module."_CATEGORY = $1\n";
64 }
65}
66close FILE;
67
68##
69sub findMakefiles{
70 my ($root) = @_;
71
72 # find the 1st-level makefile
73 my @mak = glob "$root/*.mak";
74 @makefiles = (@makefiles, @mak);
75
76 # find the sub-folders
77 my @temp = glob "$root/*";
78 my @subfolders;
79 for (@temp) {
80 @subfolders = (@subfolders,$_) if (-d $_);
81 }
82
83 for (@subfolders) {
84 #print "$_\n";
85 &findMakefiles("$_");
86 }
87}
88