# Compile HDatabase.cmlt,  preverify, create jar file & convert to .prc
J2MEHOME=${HOME}/java-stuff
CAMELOT=../../src/camelot -cp ${J2MEHOME}/midp1.0.3fcs/classes:. 
CAMELOT_FLAGS=-r #-D
PREVERIFY=${J2MEHOME}/j2mewtk/bin/preverify -classpath ${J2MEHOME}/midp1.0.3fcs/classes:. -d . 
CONVERT=java -cp ${J2MEHOME}/j2mewtk/midp4palm1.0/Converter/Converter.jar com.sun.midp.palm.database.MakeMIDPApp 
JAVAC=javac -target 1.1 -bootclasspath ${J2MEHOME}/midp1.0.3fcs/classes

src=HDatabase.cmlt Camelotlib.java Create.java 
camelot_classfiles=HDatabase.class db.class HDatabase$$\dia_0.class
classfiles=Camelotlib.class Create.class $(camelot_classfiles)
classes=$(basename $(classfiles))

# Wow! File names with dollar signs in them REALLY screw things up.


# ---------------- Make everything in one go ---------------- #

db.prc: db.jar mrg.pbm mrg-small.pbm 
	$(CONVERT) -v -v -type Data -icon mrg.pbm -smallicon mrg-small.pbm -name DB db.jar 

db.jar: $(classfiles) db.mf 
	$(PREVERIFY) $(classes)
	jar cfm db.jar db.mf $(classfiles)

HDatabase$$\dia_0.class db.class: HDatabase.class

HDatabase.class: HDatabase.cmlt 
	$(CAMELOT) $(CAMELOT_FLAGS) HDatabase



# ---------------- Compilation in separate stages, for demo ---------------- #

prog: $(classfiles)

preverify: 
	$(PREVERIFY) $(classes)

jar: 
	jar cfm db.jar db.mf $(classfiles)

prc:
	$(CONVERT) -v -v -type Data -icon mrg.pbm -smallicon mrg-small.pbm -name DB db.jar 


# ---------------- Stuff written in Java ---------------- #

%.class: %.java
	$(JAVAC) $<
	$(PREVERIFY) $(basename $@)


# ---------------- Simulation ---------------- #

sim: HDatabase.cmlt
	${J2MEHOME}/midp1.0.3fcs/bin/midp -classpath . db

sim2: HDatabase.class preverify
	${J2MEHOME}/MIDP2.0/WTK2.0/bin/emulator -cp . db

prefs:
	${J2MEHOME}/MIDP2.0/WTK2.0/bin/prefs

defaultdevice:
	${J2MEHOME}/MIDP2.0/WTK2.0/bin/defaultdevice
# ---------------- Maintenance ---------------- #

clean:
	rm -f HDatabase*.class db.class db.jar db.prc *~

empty: clean
	rm -f *.class *.gr

install:
	pilot-xfer -i db.prc

# ---------------- Slides ---------------- #
.SUFFIXES :
.SUFFIXES : .tex .ps .dvi .pdf

.tex.dvi:
	latex $<

.dvi.ps:
	dvips $< -o

.tex.pdf:
	pdflatex $<

slides: demo.pdf 
	acroread demo.pdf

