LIBUSB_TAR  = libusb-1.0.19.tar.bz2
DFUPROG_TAR = dfu-programmer-0.7.2.tar.gz

LIBUSB = $(LIBUSB_TAR:%.tar.bz2=%)
DFUPROG = $(DFUPROG_TAR:%.tar.gz=%)



# libusb extraction
all : /usr/local/bin/dfu-programmer



# Install
/usr/local/bin/dfu-programmer: $(DFUPROG)/src/dfu-programmer
	sudo make -C $(DFUPROG) install

/usr/local/lib/libusb-1.0.a : $(LIBUSB)/libusb/libusb-1.0.la
	sudo make -C $(LIBUSB) install

# Build
$(LIBUSB)/libusb/libusb-1.0.la : $(LIBUSB)/Makefile
	@make -C $(LIBUSB)

$(DFUPROG)/src/dfu-programmer: $(DFUPROG)/Makefile
	@make -C $(DFUPROG)


# Generate makefile
$(LIBUSB)/Makefile : $(LIBUSB)/configure
	@cd $(LIBUSB)* && ./configure

$(DFUPROG)/Makefile : /usr/local/lib/libusb-1.0.a $(DFUPROG)/configure
	@cd $(DFUPROG) && ./configure LIBUSB_1_0_CFLAGS=-I/usr/local/include/libusb-1.0 LIBUSB_1_0_LIBS="-L/usr/local/lib -lusb-1.0"


# extract sources
$(DFUPROG)/configure : $(DFUPROG_TAR)
	@echo Extracting $< to $(DFUPROG)
	@tar -zxf $<
	@touch $@

$(LIBUSB)/configure : $(LIBUSB_TAR) 
	@echo Extracting $< to $(LIBUSB)
	@tar -jxf $<
	@touch $@
