#!/bin/bash #edit this to set the path to the Sun Wireless Toolkit, version 2.2 or later WTK=/home/preda/WTK #edit this to set the path to Proguard PROGUARD=/home/preda/proguard #usually you don't need to edit anything below this point PROGUARD_EXE="java -jar $PROGUARD/lib/proguard.jar @proguard.txt" PREV=$WTK/bin/preverify URL="http://menstral.net/" SRCS="M DateCanvas Region Language" CLASS=$WTK/lib/cldcapi10.jar:$WTK/lib/midpapi10.jar:$WTK/lib/wma11.jar CLDC=1.0 MIDP=1.0 DEF="-D MIDP1 -D _PROFILE_" #CLASS[2]=$WTK/lib/cldcapi11.jar:$WTK/lib/midpapi20.jar #CLDC[2]=1.1 #MIDP[2]=2.0 #DEF[2]="-D MIDP2" function readVersion { MAJOR=$1 MINOR=$2 MICRO=$3 VERSION=$MAJOR.$MINOR.$MICRO } function genManifest { echo "MIDlet-1: Menstral, /M.gif, M" echo MIDlet-Name: Menstral echo MIDlet-Vendor: Mihai Preda echo MIDlet-Version: $VERSION echo MicroEdition-Configuration: CLDC-$CLDC echo MicroEdition-Profile: MIDP-$MIDP echo MIDlet-Info-URL: $URL #echo MIDlet-Install-Notify: http://menstral.net/install-notify #echo MIDlet-Delete-Notify: http://menstral.net/delete-notify } function genJad { genManifest && echo MIDlet-Jar-URL: $NAME.jar && echo MIDlet-Jar-Size: $1 } function gen { readVersion `cat src/version.txt` if [ x$1 == "x-release" ] ; then DEBUG="" let MICRO++ echo $MAJOR $MINOR $MICRO > src/version.txt FULLNAME=$NAME-$VERSION else DEBUG="-D DEBUG=1" FULLNAME=$NAME-$VERSION-a fi set -e TMP=build/tmp/$VERSION mkdir -p $TMP/src $TMP/class lang2java.py cp javalang/en $TMP/defaultLang.inc for name in $SRCS ; do cpp -I$TMP -P $DEF -D _VERSION_=$VERSION src/$name.java $TMP/src/$name.java done javac -bootclasspath $CLASS -d $TMP/class $TMP/src/*.java -encoding utf-8 -source 1.4 -target 1.4 -g:none rm $TMP/class/Language.class for LANG in javalang/?? ; do LANG=`basename $LANG` echo echo ---- $LANG ---- TMPL=$TMP/$LANG mkdir -p $TMPL/class cp javalang/$LANG $TMP/defaultLang.inc cpp -I$TMP -P $DEF -D _VERSION_=$VERSION src/Language.java $TMPL/Language.java javac -bootclasspath $CLASS -d $TMPL/class $TMPL/Language.java -encoding utf-8 -source 1.4 -target 1.4 -g:none ${PROGUARD_EXE} -libraryjars $CLASS -injars $TMP/class -injars $TMPL/class -outjar $TMPL/guard NAME=menstral-$LANG MANF=$TMPL/MANIFEST.MF genManifest > $MANF DEST=build/$VERSION mkdir -p $DEST jar cfm $DEST/$NAME.jar $MANF -C src M.gif -C $TMPL/guard . #echo Preverify #$PREV -classpath $CLASS -target CLDC$CLDC -d $DEST $TMP/$NAME.jar local JARSIZE=`find $DEST -name $NAME.jar -printf %s` genJad $JARSIZE > $DEST/$NAME.jad done } gen $* # SRCL=lang/$LANG # DSTL=javalang/$LANG # if [ ! -f $DSTL ] || [ $DSTL -ot $SRCL ] ; then # echo lang2java $LANG # python lang2java.py <$SRCL >$DSTL # fi