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

all: $(OUT)/MouseCoords.class $(OUT)/MouseInp.class $(OUT)/Testmouse.class $(OUT)/MouseDriver.class $(OUT)/MouseEventListener.class $(WINSPECT_LIBS)/libmouse-java.so

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

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

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

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

$(OUT)/Testmouse.class: Testmouse.java $(OUT)/MouseCoords.class $(OUT)/MouseInp.class
	javac -d $(CLDIR) -classpath $(CLPATH) Testmouse.java

ifeq ($(WINSPECT_CC),i386)
$(WINSPECT_LIBS)/libmouse-java.so: mouse-java.c winspect_System_MouseInp.h
	gcc -o $(WINSPECT_LIBS)/libmouse-java.so mouse-java.c -fpic -DPIC -shared -I $(J2SDK_HOME)/include -I $(J2SDK_HOME)/include/linux  -Wall -L/usr/X11R6/lib -lX11
endif
ifeq ($(WINSPECT_CC),arm)
$(WINSPECT_LIBS)/libmouse-java.so: mouse-java.c winspect_System_MouseInp.h
	arm-linux-gcc -o $(WINSPECT_LIBS)/libmouse-java.so mouse-java.c -fpic -DPIC -shared -I $(J2SDK_HOME)/include -I $(J2SDK_HOME)/include/linux  -Wall -I$(ARM_PATH)/arm-linux/X11R6/include/X11 -I$(ARM_PATH)/arm-linux/X11R6/include -L$(ARM_PATH)/arm-linux/X11R6/lib -L$(ARM_PATH)/arm-linux/X11R6/include/X11/lib/X11 -lX11
endif
start: all
	java -classpath $(CLPATH) tzi.UserInput.X11Mouse.Testmouse

prepare:
	-(if test ! -d $(OUT); then mkdir $(OUT); fi)
	-(if test ! -d $(WINSPECT_LIBS); then mkdir $(WINSPECT_LIBS); fi)

clean:
	rm -rf *~
