Benny Prijono | 8ab968f | 2007-07-20 08:08:30 +0000 | [diff] [blame] | 1 | #!/bin/sh
|
| 2 |
|
| 3 | MMP=$1
|
| 4 | if test "$MMP" == ""; then
|
| 5 | echo Usage: makedef.sh FILE.MMP
|
| 6 | exit 1
|
| 7 | fi
|
| 8 |
|
| 9 | if test -f $MMP; then
|
| 10 | true
|
| 11 | else
|
| 12 | echo "Unable to open $MMP"
|
| 13 | exit 1
|
| 14 | fi
|
| 15 |
|
| 16 | TARGET=`grep -w TARGET $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
|
| 17 | DEFFILE="${TARGET}U.def"
|
| 18 | SOURCES=`grep -w SOURCE $MMP | awk '{print $2}' | tr '\\\\' '/'`
|
| 19 | SOURCEPATH=`grep -w SOURCEPATH $MMP | tr '\\\\' '/' | awk '{print $2}'`
|
| 20 | INCPATH=`grep INCLUDE $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`
|
| 21 | INCLUDE=""
|
| 22 | for INC in $INCPATH; do
|
| 23 | INCLUDE=`echo $INCLUDE -I$INC`
|
| 24 | done
|
| 25 |
|
| 26 | echo > tmpnames.def
|
| 27 |
|
| 28 |
|
| 29 | for file in $SOURCES; do
|
| 30 | #SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`
|
| 31 | SYMBOLS=`
|
| 32 | cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |
|
| 33 | grep EXPORT_C |
|
| 34 | sed 's/(/;/' |
|
| 35 | sed 's/=/;/' |
|
| 36 | awk -F ';' '{print $1}' |
|
| 37 | awk '{print $NF}'`
|
| 38 | echo Processing ${SOURCEPATH}/$file..
|
| 39 | for SYM in $SYMBOLS; do
|
| 40 | echo $SYM >> tmpnames.def
|
| 41 | done
|
| 42 | done
|
| 43 |
|
| 44 | echo "Writing $DEFFILE"
|
| 45 | echo EXPORTS > $DEFFILE
|
| 46 | i=0
|
| 47 | for SYM in `cat tmpnames.def | sort | uniq`; do
|
| 48 | echo " $SYM"
|
| 49 | i=`expr $i + 1`
|
| 50 | printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE
|
| 51 | done
|
| 52 |
|
| 53 |
|
| 54 | echo
|
Benny Prijono | d51a37a | 2007-07-28 02:44:55 +0000 | [diff] [blame^] | 55 | echo "Done. Total $i symbols exported in $DEFFILE."
|
Benny Prijono | 8ab968f | 2007-07-20 08:08:30 +0000 | [diff] [blame] | 56 |
|