blob: 67629c61b30a8d24482423e1df4a5397a77dee02 [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
Benny Prijono1f61a8f2007-08-16 10:11:44 +000016TARGET=`grep -w '^TARGET' $MMP | awk '{print $2}' | awk -F '.' '{print $1}' | head -1`
Benny Prijono8ab968f2007-07-20 08:08:30 +000017DEFFILE="${TARGET}U.def"
Benny Prijono1f61a8f2007-08-16 10:11:44 +000018SOURCES=`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 '\\\\' '/'`
Benny Prijono8ab968f2007-07-20 08:08:30 +000021INCLUDE=""
22for INC in $INCPATH; do
23 INCLUDE=`echo $INCLUDE -I$INC`
24done
25
Benny Prijono1f61a8f2007-08-16 10:11:44 +000026#-- debug --
27#echo TARGET=$TARGET
28#echo SOURCES=$SOURCES
29#echo SOURCEPATH=$SOURCEPATH
30#echo INCLUDE=$INCLUDE
31#-- end --
32
Benny Prijono8ab968f2007-07-20 08:08:30 +000033echo > tmpnames.def
34
35
36for file in $SOURCES; do
37 #SYMBOLS=`grep PJ_DEF ${SOURCEPATH}/$file | awk -F ')' '{print $2}' | awk -F '(' '{print $1}' | awk -F '=' '{print $1}' | tr -d '[:blank:]' | sort | uniq`
38 SYMBOLS=`
39 cpp -DPJ_SYMBIAN=1 -DPJ_DLL -DPJ_EXPORTING=1 $INCLUDE ${SOURCEPATH}/$file 2>&1 |
40 grep EXPORT_C |
41 sed 's/(/;/' |
42 sed 's/=/;/' |
43 awk -F ';' '{print $1}' |
44 awk '{print $NF}'`
45 echo Processing ${SOURCEPATH}/$file..
46 for SYM in $SYMBOLS; do
47 echo $SYM >> tmpnames.def
48 done
49done
50
51echo "Writing $DEFFILE"
52echo EXPORTS > $DEFFILE
53i=0
54for SYM in `cat tmpnames.def | sort | uniq`; do
55 echo " $SYM"
56 i=`expr $i + 1`
57 printf "\\t%-40s @ $i NONAME\\n" $SYM >> $DEFFILE
58done
59
60
61echo
Benny Prijonod51a37a2007-07-28 02:44:55 +000062echo "Done. Total $i symbols exported in $DEFFILE."
Benny Prijono8ab968f2007-07-20 08:08:30 +000063