ifndef LIBUSB_PREFIX
$(error Environment variable LIBUSB_PREFIX not defined)
endif

ALL: liblabview_dll.dylib  Labview_DLL_SyncTest

labview_dll_synctest.o: labview_dll_synctest.cpp
	$(CXX) $(ARCH) -Wunused-variable -c -o $@ $^

Labview_DLL_SyncTest: labview_dll_synctest.o
	$(CXX) $(ARCH) -o $@ $^ -L. -llabview_dll

labview_dll.o: labview_dll.cpp
	$(CXX) $(ARCH) -Wunused-variable -fPIC -c -o $@ $^

liblabview_dll.0.0.1.dylib: labview_dll.o bsif_libusb.o poll_keys.o
	$(CXX) $(ARCH) -o $@ -fPIC -lc -dynamiclib -Wl \
		-malign-natural \
		$^ -L${LIBUSB_PREFIX}/lib -l usb-1.0 -framework IOKit -framework Carbon

# make the linker names
liblabview_dll.0.dylib: liblabview_dll.0.0.1.dylib
	rm -f liblabview_dll.0.dylib
	ln -s liblabview_dll.0.0.1.dylib liblabview_dll.0.dylib

liblabview_dll.dylib: liblabview_dll.0.0.1.dylib
	rm -f liblabview_dll.dylib
	ln -s liblabview_dll.0.0.1.dylib liblabview_dll.dylib

clean:
	rm -f labview_dll.o
	rm -f labview_dll_synctest.o
	rm -f liblabview_dll.0.dylib
	rm -f liblabview_dll.dylib
	rm -f liblabview_dll.0.0.1.dylib
	rm -f Labview_DLL_SyncTest
