
GCC=g++
DEFS=-D_REENTRANT -DCASSERT=1
OPT=#-DMEM_CHECK=1 -DDEBUG_ASSERT=1 
LIBS=-lpthread -fno-exceptions
OPENCV_LIBS=$(LIBS)

all: split

split: p.main.o p.mem_check.o p.structures.o p.string.o p.bitmap.o p.image.o
	$(GCC) $(DEFS) $(OPT) $^  -o split $(LIBS) -Wall

# - COMPILE -
p.main.o: p.main.cc
	$(GCC) -c $(DEFS) $(OPT) p.main.cc -o p.main.o -Wall

p.mem_check.o: p.mem_check.cc
	$(GCC) -c $(DEFS) $(OPT) p.mem_check.cc -o p.mem_check.o -Wall

p.structures.o: p.structures.cc
	$(GCC) -c $(DEFS) $(OPT) p.structures.cc -o p.structures.o -Wall

p.string.o: p.string.cc
	$(GCC) -c $(DEFS) $(OPT) p.string.cc -o p.string.o -Wall

p.bitmap.o: p.bitmap.cc
	$(GCC) -c $(DEFS) $(OPT) p.bitmap.cc -o p.bitmap.o -Wall

p.image.o: p.image.cc
	$(GCC) -c $(DEFS) $(OPT) p.image.cc -o p.image.o -Wall

# - PROCESS -
p.main.cc: basic.h thread.h mutex.h structures.h mem_check.h string.h bitmap.h image.h main.h main.cc
	./process main.cc > p.main.cc

p.mem_check.cc: basic.h mutex.h mem_check.h mem_check.cc
	./process mem_check.cc > p.mem_check.cc

p.structures.cc: basic.h mem_check.h structures.h structures.cc
	./process structures.cc > p.structures.cc

p.string.cc: basic.h mem_check.h string.h string.cc
	./process string.cc > p.string.cc

p.bitmap.cc: basic.h mem_check.h bitmap.h bitmap.cc
	./process bitmap.cc > p.bitmap.cc

p.image.cc: basic.h atomic.h mem_check.h structures.h bitmap.h image.h image.cc
	./process image.cc > p.image.cc

# - CLEAN -
clean:
	rm -f p.* *.o split
