Index: libusb-java-0.8+ztex20090101/Makefile
===================================================================
--- libusb-java-0.8+ztex20090101.orig/Makefile
+++ libusb-java-0.8+ztex20090101/Makefile
@@ -25,7 +25,7 @@
 JAVAC=javac
 RM=rm -f
 INSTALL=install
-INSTALLDIR=$(INSTALL) -d 
+INSTALLDIR=$(INSTALL) -d
 INSTALLEXE=$(INSTALL) -m 0755
 INSTALLFILE=$(INSTALL) -m 0644
 OBJEXTRADEPS=LibusbJava.h
@@ -45,24 +45,43 @@
 
 classes: classes.made
 
-libs: $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64)
+#libs: $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64)
+libs: $(LIBTARGET_SH)
 
 %.o: %.c LibusbJava.h
 	$(GCC) -fPIC -g -c -std=c99 -Wall -Wno-pointer-to-int-cast $(LIBINCS) $< -o$@
 
 $(LIBTARGET_ST): $(LIBSRCS)
-#	$(GCC) -shared -Wl,-static,-soname,$(LIBTARGET_ST) $(LIBINCS) -static $(LIBSRCS) -o $(LIBTARGET_ST) $(LIBLIBS)
-	$(GCC) -shared -Wl,-soname,$(LIBTARGET_ST),-static $(LIBINCS) $(LIBSRCS) -static -o $(LIBTARGET_ST) $(LIBLIBS)
+
+VERSIONSUFFIX=
+
+$(LIBTARGET_ST):$(LIBTARGET_ST)$(VERSIONSUFFIX)
+$(LIBTARGET_SH):$(LIBTARGET_SH)$(VERSIONSUFFIX)
+$(LIBTARGET):$(LIBTARGET)$(VERSIONSUFFIX)
+$(LIBTARGET_64):$(LIBTARGET_64)$(VERSIONSUFFIX)
+
+
+$(LIBTARGET_ST)$(VERSIONSUFFIX): $(LIBSRCS)
+	$(GCC) -shared -Wl,-soname,$(LIBTARGET_ST),-static $(LIBINCS) $(LIBSRCS) -static -o $(LIBTARGET_ST)$(VERSIONSUFFIX) $(LIBLIBS)
+	[ -r $(LIBTARGET_ST) ] || ln -s $(LIBTARGET_ST)$(VERSIONSUFFIX) $(LIBTARGET_ST)
 	$(STRIP) $(LIBTARGET_ST)
 	$(CHMOD) $(LIBTARGET_ST)
 
-$(LIBTARGET_SH): $(LIBSRCS)
-	$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH) $(LIBLIBS)
+$(LIBTARGET_SH)$(VERSIONSUFFIX): $(LIBSRCS)
+	$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET_SH) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET_SH)$(VERSIONSUFFIX) $(LIBLIBS)
+	[ -r $(LIBTARGET_SH) ] || ln -s $(LIBTARGET_SH)$(VERSIONSUFFIX) $(LIBTARGET_SH)
 	$(STRIP) $(LIBTARGET_SH)
 	$(CHMOD) $(LIBTARGET_SH)
 
-$(LIBTARGET_64): $(LIBSRCS64)
-	$(GCC) -fPIC -m64 -shared -std=c99 -Wall -Wno-pointer-to-int-cast -Wl,-soname,$(LIBTARGET_64) $(LIBINCS) $(LIBSRCS64) $(LIBLIBS) -o $(LIBTARGET_64)
+$(LIBTARGET)$(VERSIONSUFFIX): $(LIBSRCS)
+	$(GCC) -fPIC -shared -Wl,-soname,$(LIBTARGET) $(LIBINCS) $(LIBSRCS) -o $(LIBTARGET)$(VERSIONSUFFIX) $(LIBLIBS)
+	[ -r $(LIBTARGET) ] || ln -s $(LIBTARGET)$(VERSIONSUFFIX) $(LIBTARGET)
+	$(STRIP) $(LIBTARGET)
+	$(CHMOD) $(LIBTARGET)
+
+$(LIBTARGET_64)$(VERSIONSUFFIX): $(LIBSRCS64)
+	$(GCC) -fPIC -m64 -shared -std=c99 -Wall -Wno-pointer-to-int-cast -Wl,-soname,$(LIBTARGET_64) $(LIBINCS) $(LIBSRCS64) $(LIBLIBS) -o $(LIBTARGET_64)$(VERSIONSUFFIX)
+	[ -r $(LIBTARGET_64) ] || ln -s $(LIBTARGET_64)$(VERSIONSUFFIX) $(LIBTARGET_64)
 	$(STRIP) $(LIBTARGET_64)
 	$(CHMOD) $(LIBTARGET_64)
 
@@ -81,7 +100,5 @@
 	$(INSTALLFILE) ch/ntb/usb/*.class ../libusbJava/ch/ntb/usb
 	$(INSTALLFILE) ch/ntb/usb/logger/*.class ../libusbJava/ch/ntb/usb/logger
 
-clean:
-
-distclean:
+clean distclean:
 	$(RM) *.o $(LIBTARGET_SH) $(LIBTARGET_ST) $(LIBTARGET_64) libusbJava*.dll ch/ntb/usb/*.class ch/ntb/usb/logger/*.class classes.made
