blob: 46d85b65ed3bcfe3599458a4f4f6d0aeebc15ecd [file] [log] [blame]
Benny Prijono8ab968f2007-07-20 08:08:30 +00001#!/bin/sh
2
3MMP=$1
4if test "$MMP" == ""; then
5 echo Usage: makedef.sh FILE.MMP
6 exit 1
7fi
8
9if test -f $MMP; then
10 true
11else
12 echo "Unable to open $MMP"
13 exit 1
14fi
15
16TARGET=`grep -w TARGET $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
17DEFFILE="${TARGET}U.def"
18SOURCES=`grep -w SOURCE $MMP | awk '{print $2}' | tr '\\\\' '/'`
19SOURCEPATH=`grep -w SOURCEPATH $MMP | tr '\\\\' '/' | awk '{print $2}'`
20INCPATH=`grep INCLUDE $MMP | awk '{print $2}' | grep pj | tr '\\\\' '/'`
21INCLUDE=""
22for INC in $INCPATH; do
23 INCLUDE=`echo $INCLUDE -I$INC`
24done
25
26echo > tmpnames.def
27
28
29for 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
42done
43
44echo "Writing $DEFFILE"
45echo EXPORTS > $DEFFILE
46i=0
47for 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
51done
52
53
54echo
55echo "Done. Total $i symbols exported."
56