all: h19_fe.class h89_fe.class

H19_CLASSES =	CrtScreen.class \
		ScreenDumper.class \
		H19Keyboard.class \
		H19Terminal.class \
		AuxKeyListener.class \
		H19ANSIParser.class \
		PasteListener.class

H19_BASE = h19_fe.class H19Properties.class HxxFrontSide.class ResetListener.class \
	LED*.class
H19_IMPLICIT = H19Terminal$$modes.class RoundedRectangle.class BezelRoundedRectangle.class
H19_JAR = $(H19_BASE) $(H19_CLASSES) $(H19_IMPLICIT) H19a.ttf h19*.wav

H89_BASE = h89_fe.class H19Properties.class ResetListener.class \
	H89Commander.class H89CommandTee.class H89ResponseTee.class \
	LED*.class \
	H89Operator.class SuffFileChooser.class SuffFileFilter.class HxxFrontSide.class

H89_IMPLICIT = FEexit.class SuffFileChooser$$TapeProt.class

H89_JAR = $(H89_BASE) $(H19_CLASSES) $(H19_IMPLICIT) $(H89_IMPLICIT) H19a.ttf h19*.wav

H89JNI_BASE = h89_jni.class H19Properties.class ResetListener.class \
	H89Commander.class H89CommandJni.class V89JNI.class \
	LED*.class \
	H89Operator.class SuffFileChooser.class SuffFileFilter.class HxxFrontSide.class

H89JNI_JAR = $(H89JNI_BASE) $(H19_CLASSES) $(H19_IMPLICIT) \
	$(filter-out FEexit.class,$(H89_IMPLICIT)) H19a.ttf h19*.wav

H89PLUGIN_JAR = H89Commander.class H89Operator.class \
	SuffFileChooser.class SuffFileFilter.class \
	H19Properties.class HxxFrontSide.class ResetListener.class \
	GenericHelp*.class LED*.class \
	$(H19_CLASSES) $(H19_IMPLICIT) \
	$(filter-out FEexit.class,$(H89_IMPLICIT)) H19a.ttf h19*.wav

%.class: %.java
	javac $?

FEexit.class: h89_fe.class

jar: H19.jar H89.jar H89jni.jar H89plugin.jar

H19.jar: $(H19_JAR)
	echo "Main-Class: h19_fe" >Manifest.txt
	jar cfm $@ Manifest.txt *.png $(foreach x,$^,'$(x)')

H89.jar: $(H89_JAR)
	echo "Main-Class: h89_fe" >Manifest.txt
	jar cfm $@ Manifest.txt *.png $(foreach x,$^,'$(x)')

H89jni.jar: $(H89JNI_JAR)
	echo "Main-Class: h89_jni" >Manifest.txt
	jar cfm $@ Manifest.txt *.png $(foreach x,$^,'$(x)')

H89plugin.jar: $(H89PLUGIN_JAR)
	echo "Main-Class: h89_jni" >Manifest.txt
	jar cfm $@ Manifest.txt *.png $(foreach x,$^,'$(x)')

clobber:
	rm -f *.jar *.class

src:
	cd ..; tar -czf h19-sim/h19-sim.tgz h19-sim/Makefile h19-sim/*.java \
		h19-sim/*.wav h19-sim/*.ttf h19-sim/*.png
