CLDIR = $(WINSPECT_ROOT)/class
OUT = $(CLDIR)/$(PACK)
CLPATH = $(CLDIR):$(WINSPECT_JARS)
PACK = tzi/UserInput

all: sub $(OUT)/ButtonEvent.class $(OUT)/MultiInputData.class $(OUT)/StringEvent.class $(OUT)/ButtonListener.class $(OUT)/MultiInputDevice.class $(OUT)/StringListener.class $(OUT)/CoordinateEvent.class $(OUT)/MultiInputEvent.class $(OUT)/TransponderReader.class $(OUT)/CoordinateListener.class $(OUT)/MultiInputListener.class $(OUT)/UserInputs.class

$(OUT)/UserInputs.class: UserInputs.java
	javac -d $(CLDIR) -classpath $(CLPATH) UserInputs.java

$(OUT)/ButtonEvent.class: ButtonEvent.java
	javac -d $(CLDIR) -classpath $(CLPATH) ButtonEvent.java

$(OUT)/MultiInputData.class: MultiInputData.java
	javac -d $(CLDIR) -classpath $(CLPATH) MultiInputData.java

$(OUT)/StringEvent.class: StringEvent.java
	javac -d $(CLDIR) -classpath $(CLPATH) StringEvent.java

$(OUT)/ButtonListener.class: ButtonListener.java
	javac -d $(CLDIR) -classpath $(CLPATH) ButtonListener.java

$(OUT)/MultiInputDevice.class: MultiInputDevice.java $(OUT)/CoordinateListener.class
	javac -d $(CLDIR) -classpath $(CLPATH) MultiInputDevice.java

$(OUT)/StringListener.class: StringListener.java
	javac -d $(CLDIR) -classpath $(CLPATH) StringListener.java

$(OUT)/CoordinateEvent.class: CoordinateEvent.java
	javac -d $(CLDIR) -classpath $(CLPATH) CoordinateEvent.java

$(OUT)/MultiInputEvent.class: MultiInputEvent.java
	javac -d $(CLDIR) -classpath $(CLPATH) MultiInputEvent.java

$(OUT)/TransponderReader.class: TransponderReader.java
	javac -d $(CLDIR) -classpath $(CLPATH) TransponderReader.java

$(OUT)/CoordinateListener.class: CoordinateListener.java $(OUT)/CoordinateEvent.class
	javac -d $(CLDIR) -classpath $(CLPATH) CoordinateListener.java

$(OUT)/MultiInputListener.class: MultiInputListener.java
	javac -d $(CLDIR) -classpath $(CLPATH) MultiInputListener.java

sub:
	-(cd Serial; make all)
	-(cd X11Mouse; make all)
	-(cd FileTransponder; make all)

prepare:
	-(if test ! -d $(OUT); then mkdir $(OUT); fi)
	-(cd Serial; make prepare)
	-(cd X11Mouse; make prepare)
	-(cd FileTransponder; make prepare)

clean:
	rm -rf *~
	-(cd Serial; make clean)
	-(cd X11Mouse; make clean)
	-(cd FileTransponder; make clean)
