1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/sh
- MMP=$1
- if test "$MMP" == ""; then
- echo "Usage: makedef.sh FILE.MMP"
- echo " or makedef.sh all"
- exit 1
- fi
- if test "$MMP" == "all"; then
- . $0 pjlib.mmp
- . $0 pjlib_util.mmp
- . $0 pjnath.mmp
- . $0 pjmedia.mmp
- . $0 pjsdp.mmp
- . $0 pjsip.mmp
- . $0 pjsip_simple.mmp
- . $0 pjsip_ua.mmp
- . $0 pjsua_lib.mmp
- . $0 symbian_audio.mmp
- . $0 null_audio.mmp
- exit 0
- fi
- if test -f $MMP; then
- true
- else
- echo "Unable to open $MMP"
- exit 1
- fi
- TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
- DEFFILE="${TARGET}U.def"
- SOURCES=`grep -w '^SOURCE' $MMP | awk '{print $2}' | tr '\\\\' '/'`
- SOURCEPATH=`grep -w '^SOURCEPATH' $MMP | tr '\\\\' '/' | awk '{print $2}'`
- INCPATH=`grep 'INCLUDE' $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`
- INCLUDE=""
- for INC in $INCPATH; do
- INCLUDE=`echo $INCLUDE -I$INC`
- done
- #-- debug --
- #echo TARGET=$TARGET
- #echo SOURCES=$SOURCES
- #echo SOURCEPATH=$SOURCEPATH
- #echo INCLUDE=$INCLUDE
- #-- end --
- echo > tmpnames.def
- echo "${TARGET}:"
- for file in $SOURCES; do
- #SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`
- SYMBOLS=`
- cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |
- grep EXPORT_C |
- sed 's/(/;/' |
- sed 's/=/;/' |
- awk -F ';' '{print $1}' |
- awk '{print $NF}'`
- echo Processing ${SOURCEPATH}/$file..
- for SYM in $SYMBOLS; do
- echo $SYM >> tmpnames.def
- done
- done
- echo "Writing $DEFFILE"
- echo EXPORTS > $DEFFILE
- i=0
- for SYM in `cat tmpnames.def | sort | uniq`; do
- echo " $SYM"
- i=`expr $i + 1`
- printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE
- done
- echo
- echo "Done. Total $i symbols exported in $DEFFILE."
|