# Assumes CC, CXX environment variables are set
# The following are examples for different compilers/OS
# GNU: CC=gcc CXX=g++ -fno-implicit-templates
# Other: CC=cc -c +z
SILABS=/cygdrive/c/Disk2/SiLabs/MCU/USBXpress-2.1/USBXpress_API/Host
INCLUDES=-I. -I$(SWDAQ_ROOTDIR)/include -I$(SILABS)
CFLAGS=$(INCLUDES)
CXXFLAGS=$(INCLUDES)
LDFLAGS=$(INCLUDES) -L. -L$(SWDAQ_ROOTDIR)/bin -L$(SWDAQ_ROOTDIR)/lib -L$(SILABS)

vpath %.dll $(SWDAQ_ROOTDIR)/bin
vpath % $(SWDAQ_ROOTDIR)/bin

.SUFFIXES: .cpp .c .a .o .dll

all: includes

includes:
	cp usb.h $(SWDAQ_ROOTDIR)/include/

libusb.dll: dll_init.o usb.o
	$(CXX) $(LDFLAGS) -shared -Wl,--base-file,mydll.base -o $(SWDAQ_ROOTDIR)/bin/libusb.dll dll_init.o usb.o -lSiUSBXp -Wl,-e,_mydll_init@12 

bounce: bounce.cpp CBUSBHost.cpp
	$(CXX) $(LDFLAGS) bounce.cpp CBUSBHost.cpp \
	-lSiUSBXp -lc++ \
	-o $(SWDAQ_ROOTDIR)/bin/bounce

