CC=g++
FLAGS=-Wall -Wno-unused-result -ansi -pedantic -O3 
LFLAGS=-Wall -Wno-unused-result -ansi -pedantic -O3
PATH_LIBS=/usr/lib/i386-linux-gnu/mesa
PATH_LIB_GLUT=/usr/lib/i386-linux-gnu
LIBS=-lm -lglui -lglut -lGLU 
LLIBS=-lm -lglui -lglut -lGLU 
OBJ_GRAPH_SRC=graph_gml
OBJ_WINDOW_SRC=window_gml
OBJ_RING_SRC=ring_gml
OBJ_TEST=desenho_gml
NAME_TEST=desenho_gml
DIR_TEST=test
DIR_SRC=src
DIR_INCLUDE=include

all: $(DIR_SRC)/$(OBJ_GRAPH_SRC).o $(DIR_SRC)/$(OBJ_RING_SRC).o $(DIR_SRC)/$(OBJ_WINDOW_SRC).o $(DIR_TEST)/$(OBJ_TEST).o 
	$(CC) $(LFLAGS) $(DIR_SRC)/$(OBJ_WINDOW_SRC).o $(DIR_SRC)/$(OBJ_GRAPH_SRC).o $(DIR_SRC)/$(OBJ_RING_SRC).o $(DIR_TEST)/$(OBJ_TEST).o $(LLIBS) -o $(DIR_TEST)/$(NAME_TEST).bin

#all: $(DIR_SRC)/$(OBJ_GRAPH_SRC).o $(DIR_SRC)/$(OBJ_RING_SRC).o $(DIR_SRC)/$(OBJ_WINDOW_SRC).o $(DIR_TEST)/$(OBJ_TEST).o 
#	$(CC) $(LLIBS) $(DIR_SRC)/$(OBJ_WINDOW_SRC).o $(DIR_SRC)/$(OBJ_GRAPH_SRC).o $(DIR_SRC)/$(OBJ_RING_SRC).o $(DIR_TEST)/$(OBJ_TEST).o -o $(DIR_TEST)/$(NAME_TEST).bin `pkg-config --cflags --libs gtk+-2.0`

$(DIR_SRC)/$(OBJ_GRAPH_SRC).o: $(DIR_SRC)/$(OBJ_GRAPH_SRC).cpp $(DIR_INCLUDE)/$(OBJ_GRAPH_SRC).h	
	$(CC) -I$(DIR_INCLUDE) $(FLAGS) -L$(PATH_LIBS) $(LIBS) -c $(DIR_SRC)/$(OBJ_GRAPH_SRC).cpp
	mv *.o $(DIR_SRC)

$(DIR_SRC)/$(OBJ_RING_SRC).o: $(DIR_SRC)/$(OBJ_RING_SRC).cpp $(DIR_INCLUDE)/$(OBJ_RING_SRC).h
	$(CC) -I$(DIR_INCLUDE) $(FLAGS) -L$(PATH_LIBS) $(LIBS) -c $(DIR_SRC)/$(OBJ_RING_SRC).cpp
	mv *.o $(DIR_SRC)

$(DIR_SRC)/$(OBJ_WINDOW_SRC).o: $(DIR_SRC)/$(OBJ_WINDOW_SRC).cpp $(DIR_INCLUDE)/$(OBJ_WINDOW_SRC).h
	$(CC) -I$(DIR_INCLUDE) $(FLAGS) -L$(PATH_LIBS) $(LIBS) -c $(DIR_SRC)/$(OBJ_WINDOW_SRC).cpp
	mv *.o $(DIR_SRC)


#$(DIR_SRC)/$(OBJ_WINDOW_SRC).o: $(DIR_SRC)/$(OBJ_WINDOW_SRC).cpp $(DIR_INCLUDE)/$(OBJ_WINDOW_SRC).h
#	$(CC) -I$(DIR_INCLUDE) $(LIBS) -c $(DIR_SRC)/$(OBJ_WINDOW_SRC).cpp `pkg-config --cflags --libs gtk+-2.0`
#	mv *.o $(DIR_SRC)

$(DIR_TEST)/$(OBJ_TEST).o: $(DIR_TEST)/$(OBJ_TEST).cpp
	$(CC) -I$(DIR_INCLUDE) $(FLAGS) -L$(PATH_LIBS) $(LIBS) -c $(DIR_TEST)/$(OBJ_TEST).cpp
	mv *.o $(DIR_TEST)

clean:
	rm -rf $(DIR_TEST)/*.o $(DIR_SRC)/*.o $(DIR_TEST)/desenho_gml.bin
