the menu must be redrawn after displaying the help info
[asterisk/asterisk.git] / build_tools / prep_moduledeps
1 #!/bin/sh
2
3 get_description() {
4         x=${1}
5         TDESC=`cat $x | grep -e *tdesc | cut -f 2 -d '"'`
6         if [ "$TDESC" = "" ]; then
7                 TDESC=`cat $x | grep -A 2 -e *description | grep -e '\"'  | cut -f 2 -d '"'` 
8         fi
9         if [ "$TDESC" = "" ]; then
10                 TDESC=`cat $x | grep -e MODULE_DESCRIPTION | grep -v return | cut -f 2 -d '"'`
11         fi
12         if [ "$TDESC" = "" ]; then
13                 TDESC=`cat $x | grep -e tdesc\\\[\\\] | cut -f 2 -d '"'`
14         fi
15         if [ "$TDESC" = "" ]; then
16                 TDESC=`cat $x | grep -e desc\\\[\\\] | grep -v description | cut -f 2 -d '"'`
17         fi
18         if [ "$TDESC" = "" ]; then
19                 TDESC=`cat $x | grep -e *desc | grep -v descrip | cut -f 2 -d '"'`
20         fi
21         if [ "$TDESC" = "" ]; then
22                 TDESC=`cat $x | grep -e *dtext | grep static | cut -f 2 -d '"'`
23         fi
24         if [ "$TDESC" = "" ]; then
25                 TDESC=`cat $x | grep -A 2 -e *synopsis | grep -e '\"'  | cut -f 2 -d '"'` 
26         fi
27 }
28
29 process_dir() {
30         dir=${1}
31         prefix=${2}_
32         catsuffix=${3}
33         displayname=${4}
34
35         echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\">"
36         for file in ${dir}/${prefix}*.c
37         do
38                 fname=${file##${dir}/}
39                 get_description ${file}
40                 desc=${TDESC}
41                 echo -e "\t\t<member name=\"${fname%%.c}\" displayname=\"${desc}\">"
42                 awk -f build_tools/get_moduledeps ${file}
43                 echo -e "\t\t</member>"
44         done
45         echo -e "\t</category>"
46 }
47
48 echo "<?xml version="1.0"?>"
49 echo
50 echo "<menu>"
51 process_dir apps app APPS Applications
52 process_dir cdr cdr CDR "Call Detail Recording"
53 process_dir channels chan CHANNELS "Channel Drivers"
54 process_dir codecs codec CODECS "Codec Translators"
55 process_dir formats format FORMATS "Format Interpreters"
56 process_dir funcs func FUNCS "Dialplan Functions"
57 process_dir pbx pbx PBX "PBX Modules"
58 process_dir res res RES "Resource Modules"
59 cat build_tools/cflags.xml
60 cat sounds/sounds.xml
61 echo "</menu>"