#Nome del programma
NAME = visione
#Nome del compilatore
CC   = g++
SW   = -O2 -Wall
MOC  = /usr/share/qt4/bin/moc

#Directory dei sorgenti
SRCDIR  = ./src
OBJDIR  = ./lib
LIBDIR  = ./lib
#Librerie utilizzate
LIB  = -L$(LIBDIR) $(LIB_OCV) $(LIB_GTK) -lImageProcessing
#Intestazioni utilizzate
INC  = -I$(INC_OCV) $(INC_GTK) 

#OpenCV
INC_OCV = /usr/include/opencv
LIB_OCV = -L/usr/lib -lcv -lhighgui

#GTK
INC_GTK = `pkg-config --cflags-only-I gtk+-2.0`
LIB_GTK = `pkg-config --libs gtk+-2.0`

#Compilo tutto il programma
all: library main

#Rimuovo i file compilati
clean:
	rm $(LIBDIR)/* $(NAME)


library:

	$(CC) $(SW) -c $(SRCDIR)/vanishingPoints.cpp -o $(LIBDIR)/vanishingPoints.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/MainWindow.cpp -o $(LIBDIR)/MainWindow.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/Homography.cpp -o $(LIBDIR)/Homography.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/Hough.cpp -o $(LIBDIR)/Hough.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/ColorBGR.cpp -o $(LIBDIR)/ColorBGR.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/Image.cpp -o $(LIBDIR)/Image.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/ImageProcessing.cpp -o $(LIBDIR)/ImageProcessing.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/Line.cpp -o $(LIBDIR)/Line.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/Video.cpp -o $(LIBDIR)/Video.o $(INC)
	$(CC) $(SW) -c $(SRCDIR)/RansacLines.cpp -o $(LIBDIR)/RansacLines.o $(INC)
	ar  rcs $(LIBDIR)/libImageProcessing.a $(LIBDIR)/*.o
	rm $(LIBDIR)/*.o

main:
	$(CC) $(SW) $(SRCDIR)/Visione.cpp -o $(NAME) $(LIB) $(INC)
