#CPPFLAGS = -Wall -g
CPPFLAGS = -Wall -O2

all: dvgrab riffdump rawdump

riff.o: riff.cc riff.h
	g++ $(CPPFLAGS) -c riff.cc

avi.o: avi.cc avi.h riff.h
	g++ $(CPPFLAGS) -c avi.cc

iee1394io.o:
	g++ $(CPPFLAGS) -I/usr/local/include/libraw1394  -c ieee1394io.cc

frame.o: frame.cc frame.h
	g++ $(CPPFLAGS) -c frame.cc

dvgrab.o: dvgrab.cc avi.h riff.h
	g++ $(CPPFLAGS) -c dvgrab.cc

dvgrab: avi.o riff.o ieee1394io.o frame.o dvgrab.o
	g++ $(CPPFLAGS) avi.o riff.o ieee1394io.o frame.o dvgrab.o /usr/local/lib/libraw1394.a -lpthread -o dvgrab


riffdump.o: riffdump.cc avi.h riff.h 
	g++ $(CPPFLAGS) -c riffdump.cc

riffdump: avi.o riff.o frame.o riffdump.o 
	g++ $(CPPFLAGS) avi.o riff.o frame.o riffdump.o -o riffdump


rawdump.o: rawdump.c
	gcc $(CPPFLAGS) -c rawdump.c

rawdump: rawdump.o 
	gcc rawdump.o -o rawdump

# a great C++ formatter
ASTYLEFLAGS = -c -s4 -l -p
#ASTYLEFLAGS = -c -s8 -l

pretty:
	astyle $(ASTYLEFLAGS) riff.cc riff.h avi.cc avi.h frame.cc frame.h ieee1394io.cc dvgrab.cc 

#an even greater documentation generator

dox:
	doxygen dvgrab.dox
	
