2006-07-02

Solaris/x86におけるMIDPアプリの開発環境 その3

Solaris/x86におけるMIDPアプリの開発環境の続き。

さて、どうにかJ2ME+CLDC+MIDPのコンパイル/エミュレーション環境がそろったので、
いよいよアプリケーションを作ってみる。

SunのMIDPのドキュメントについているHelloMIDlet.javaをsrc/に置き、
カレントディレクトリに以下のMakefileを置いてやる。
JAR = HelloMIDlet

MIDP_DIR = ../../j2me/midp2.0fcs/build/solaris
WTK_DIR = ../../j2me/WTK2.2

MIDP_CLASSES = $(MIDP_DIR)/classes
OPT_CLASSES = $(WTK_DIR)/lib/jsr75.jar

PREVERIFY = $(MIDP_DIR)/bin/preverify
EMULATOR = $(MIDP_DIR)/bin/midp
BOOT_CP = $(MIDP_CLASSES)
REF_CP = $(MIDP_CLASSES):$(OPT_CLASSES)
RUN_CP = classes:$(MIDP_CLASSES):$(OPT_CLASSES)
JAVAC = javac -bootclasspath $(BOOT_CP) -classpath $(REF_CP) -source 1.4

all: tmpclasses
$(JAVAC) -d tmpclasses `find src -name \*.java`
rm -rf classes; mkdir classes
$(PREVERIFY) -cldc -classpath $(RUN_CP) -d classes tmpclasses

jar:
@echo 'Manifest-Version: 1.0' > $(JAR).mf
@echo 'MIDlet-Name: $(JAR)' >> $(JAR).mf
@echo 'MIDlet-Version: 0.0.1' >> $(JAR).mf
@echo 'MIDlet-Vendor: unknown vendor' >> $(JAR).mf
@echo 'MicroEdition-Profile: MIDP-2.0' >> $(JAR).mf
@echo 'MicroEdition-Configuration: CLDC-1.0' >> $(JAR).mf
jar -cmf $(JAR).mf $(JAR).jar -C classes .

cp $(JAR).mf $(JAR).jad
@echo 'MIDlet-Jar-URL: http://localhost/$(JAR).jar' >> $(JAR).jad
@echo 'MIDlet-Jar-Size: '`ls -l $(JAR).jar | awk '{print $$5}'` >> $(JAR).jad
@echo 'MIDlet-1: $(JAR),, $(JAR)' >> $(JAR).jad

run:
$(EMULATOR) -classpath $(RUN_CP) -descriptor $(JAR).jad

tmpclasses:
mkdir tmpclasses

clean:
rm -rf classes tmpclasses $(JAR).mf $(JAR).jar $(JAR).jad

これでmake all jarしてやれば、jarファイルとjadファイルができる。
エミュレータを起動するにはmake run

MIDP_DIRWTK_DIRはそれぞれMIDPのリファレンス実装を展開したところと
Wireless Toolkitをインストールしたところを指定する。
WTK_DIROTP_CLASSESはMMAPIなどのオプションAPIを使うときだけ指定する。

0 件のコメント: