CC = g++
CXX = g++
ZLIB_DIR = ./zlib/zlib-1.2.5
CFLAGS = -O3 -I$(ZLIB_DIR) -fPIC # -O3 
CXXFLAGS = $(CFLAGS)
LDFLAGS = -L$(ZLIB_DIR) -lz -lpthread

EXES = vidReader.exe zlib_compress.exe zlib_expand.exe
CPP_DEPENDS = VidHeader.cpp compress_uncompress_MT.cpp bayer_interpolate_MT.cpp
VID_AUX_LIB = vid_aux.lib
VID_AUX_CPPS = read-frame.cpp showErrMsgBox.cpp bayer.cpp
VID_AUX_OBJS = $(VID_AUX_CPPS:.cpp=.o)

all: $(VID_AUX_LIB) $(EXES)

$(VID_AUX_LIB): $(VID_AUX_OBJS)
	rm -f $@;
	ar rcs $@ $(VID_AUX_OBJS)
	
vidReader.exe: main.cpp $(CPP_DEPENDS) $(VID_AUX_LIB)
	$(CXX) $(CXXFLAGS) main.cpp VidHeader.cpp -o vidReader.exe $(LDFLAGS) $(VID_AUX_LIB)

zlib_%.exe: zlib_%.cpp $(CPP_DEPENDS) $(VID_AUX_LIB)
	$(CXX) $(CXXFLAGS) -o $@ $< $(VID_AUX_LIB) $(LDFLAGS) 

%.o: %.cpp
	$(CXX) $(CXXFLAGS) -o $@ -c $<

clean:
	rm -f $(EXES)