OBJECTS= ./IEEE1394_FrameGrabber.o

DEFOPTS= -D 
DEBUG=$(DEFOPTS)_DEBUG_
IEEE1394_LIBS= -I/usr/include/libdc1394
IEEE1394_LINK= -L/usr/lib -ldc1394_control -lraw1394
IEEE1394_STATICLIB=/usr/lib/libdc1394_control.a /usr/lib/libraw1394.a
COMPILE= g++ -fPIC $(DEBUG) -Wall -O3 -c 
SHARED_ARCHIVE= g++
STATIC_ARCHIVE= ar rcs
#-----------------------------------
# Pattern Rule to compile *.cpp file 
#-----------------------------------
%.o : %.cpp
	$(COMPILE) $(IEEE1394_LIBS) $(@:.o=.cpp) -o $@

all: obj sharedlib

obj: $(OBJECTS)


IEEE1394_FrameGrabber.o: ./IEEE1394_FrameGrabber.h ./IEEE1394_FrameGrabber.cpp

#-----------------------------
# Main File
# 	-> . 
#-----------------------------
sharedlib: obj
	$(SHARED_ARCHIVE) -o ieee1394_fgrabber.so $(OBJECTS) $(IEEE1394_LINK) -shared

staticlib: obj
	$(STATIC_ARCHIVE) ieee1394_fgrabber.a $(IEEE1394_STATICLIB) $(OBJECTS)

#-------------------------
# Clean all project files 
#-------------------------    
clean:
	rm -vf ./*.o ./*.a ./*.so
	rm -vf ./*.h~ ./*.cpp~ ./*.xml~	

