asterisk/build_tools/prep_moduledeps

61 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
get_description() {
x=${1}
TDESC=`cat $x | grep -e *tdesc | cut -f 2 -d '"'`
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -A 2 -e *description | grep -e '\"' | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e MODULE_DESCRIPTION | grep -v return | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e tdesc\\\[\\\] | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e desc\\\[\\\] | grep -v description | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e *desc | grep -v descrip | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e *dtext | grep static | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -A 2 -e *synopsis | grep -e '\"' | cut -f 2 -d '"'`
fi
}
process_dir() {
dir=${1}
prefix=${2}_
catsuffix=${3}
displayname=${4}
echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\">"
for file in ${dir}/${prefix}*.c
do
fname=${file##${dir}/}
get_description ${file}
desc=${TDESC}
echo -e "\t\t<member name=\"${fname%%.c}.so\" displayname=\"${desc}\">"
awk -f build_tools/get_moduledeps ${file}
echo -e "\t\t</member>"
done
echo -e "\t</category>"
}
echo "<?xml version="1.0"?>"
echo
echo "<menu>"
process_dir apps app APPS Applications
process_dir cdr cdr CDR "Call Detail Recording"
process_dir channels chan CHANNELS "Channel Drivers"
process_dir codecs codec CODECS "Codec Translators"
process_dir formats format FORMATS "Format Interpreters"
process_dir funcs func FUNCS "Dialplan Functions"
process_dir pbx pbx PBX "PBX Modules"
process_dir res res RES "Resource Modules"
cat build_tools/cflags.xml
echo "</menu>"