blob: df90992d897ea58bf8543f04c32b146521fd9714 [file] [log] [blame]
Benny Prijono8ab968f2007-07-20 08:08:30 +00001#!/bin/sh
2
3MMP=$1
4if test "$MMP" == ""; then
Benny Prijonodcfc0ba2007-09-30 16:50:27 +00005 echo "Usage: makedef.sh FILE.MMP"
6 echo " or makedef.sh all"
Benny Prijono8ab968f2007-07-20 08:08:30 +00007 exit 1
8fi
9
Benny Prijonodcfc0ba2007-09-30 16:50:27 +000010if test "$MMP" == "all"; then
11 . $0 pjlib.mmp
12 . $0 pjlib_util.mmp
13 . $0 pjnath.mmp
14 . $0 pjmedia.mmp
15 . $0 pjsdp.mmp
16 . $0 pjsip.mmp
17 . $0 pjsip_simple.mmp
18 . $0 pjsip_ua.mmp
19 . $0 pjsua_lib.mmp
20 . $0 symbian_audio.mmp
21 . $0 null_audio.mmp
22 exit 0
23fi
24
Benny Prijono8ab968f2007-07-20 08:08:30 +000025if test -f $MMP; then
26 true
27else
28 echo "Unable to open $MMP"
29 exit 1
30fi
31
Benny Prijono1f61a8f2007-08-16 10:11:44 +000032TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
Benny Prijono8ab968f2007-07-20 08:08:30 +000033DEFFILE="${TARGET}U.def"
Benny Prijono1f61a8f2007-08-16 10:11:44 +000034SOURCES=`grep -w '^SOURCE' $MMP | awk '{print $2}' | tr '\\\\' '/'`
35SOURCEPATH=`grep -w '^SOURCEPATH' $MMP | tr '\\\\' '/' | awk '{print $2}'`
36INCPATH=`grep 'INCLUDE' $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`
Benny Prijono8ab968f2007-07-20 08:08:30 +000037INCLUDE=""
38for INC in $INCPATH; do
39 INCLUDE=`echo $INCLUDE -I$INC`
40done
41
Benny Prijono1f61a8f2007-08-16 10:11:44 +000042#-- debug --
43#echo TARGET=$TARGET
44#echo SOURCES=$SOURCES
45#echo SOURCEPATH=$SOURCEPATH
46#echo INCLUDE=$INCLUDE
47#-- end --
48
Benny Prijono8ab968f2007-07-20 08:08:30 +000049echo > tmpnames.def
50
Benny Prijonodcfc0ba2007-09-30 16:50:27 +000051echo "${TARGET}:"
Benny Prijono8ab968f2007-07-20 08:08:30 +000052
53for file in $SOURCES; do
54 #SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`
55 SYMBOLS=`
56 cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |
57 grep EXPORT_C |
58 sed 's/(/;/' |
59 sed 's/=/;/' |
60 awk -F ';' '{print $1}' |
61 awk '{print $NF}'`
62 echo Processing ${SOURCEPATH}/$file..
63 for SYM in $SYMBOLS; do
64 echo $SYM >> tmpnames.def
65 done
66done
67
68echo "Writing $DEFFILE"
69echo EXPORTS > $DEFFILE
70i=0
71for SYM in `cat tmpnames.def | sort | uniq`; do
72 echo " $SYM"
73 i=`expr $i + 1`
74 printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE
75done
76
77
78echo
Benny Prijonod51a37a2007-07-28 02:44:55 +000079echo "Done. Total $i symbols exported in $DEFFILE."
Benny Prijono8ab968f2007-07-20 08:08:30 +000080