-CFLAGS=-Wall
+#Add -DFORCE_PC3_IDENT to CFLAGS to force the identification of
+#a Parallel Cable III
+CFLAGS=-Wall -fPIC #-DFORCE_PC3_IDENT
-all: libusb-driver.so libusb-driver-DEBUG.so
+FTDI := $(shell libftdi-config --libs 2>/dev/null)
+ifneq ($(FTDI),)
+JTAGKEYSRC = jtagkey.c
+CFLAGS += -DJTAGKEY
+endif
-libusb-driver.so: usb-driver.c usb-driver.h
- gcc -fPIC $(CFLAGS) $< -o $@ -ldl -lusb -lpthread -shared
+SOBJECTS=libusb-driver.so libusb-driver-DEBUG.so
-libusb-driver-DEBUG.so: usb-driver.c usb-driver.h
- gcc -fPIC -DDEBUG $(CFLAGS) $< -o $@ -ldl -lusb -lpthread -shared
+all: $(SOBJECTS)
+
+libusb-driver.so: usb-driver.c jtagkey.c config.c usb-driver.h jtagkey.h config.h Makefile
+ gcc $(CFLAGS) usb-driver.c config.c $(JTAGKEYSRC) -o $@ -ldl -lusb -lpthread $(FTDI) -shared
+
+libusb-driver-DEBUG.so: usb-driver.c jtagkey.c config.c usb-driver.h jtagkey.h config.h Makefile
+ gcc -DDEBUG $(CFLAGS) usb-driver.c config.c $(JTAGKEYSRC) -o $@ -ldl -lusb -lpthread $(FTDI) -shared
clean:
- rm -f libusb-driver.so libusb-driver-DEBUG.so
+ rm -f $(SOBJECTS)
.PHONY: clean all