CC = g++

CFLAGS = -Wall -O2 -Wno-deprecated

COMPILE = $(CC) $(CFLAGS) -c

LIBS = -L/usr/lib -lglut -lGLU -lGL -lCg -lCgGL -lpthread -ljpeg

INCLUDE = -I/usr/include 

shader: shader.o mouse.o keyboard.o util.o image.o timer.o mesh.o material.o object.o transform.o
	$(CC) $(LIBS) -o Release/shader shader.o mouse.o keyboard.o image.o util.o timer.o mesh.o material.o object.o transform.o

mouse.o: mouse.cpp mouse.h
	 $(COMPILE) $(INCLUDE) mouse.cpp

keyboard.o: keyboard.cpp keyboard.h
	    $(COMPILE) $(INCLUDE) keyboard.cpp

util.o: util.cpp util.h
	$(COMPILE) $(INCLUDE) util.cpp

shader.o: shader.cpp shader.h interaction.h misc.h lights.h cg_functions.h
	$(COMPILE) $(INCLUDE) shader.cpp

image.o: image.cpp image.h
	 $(COMPILE) $(INCLUDE) image.cpp

timer.o: timer.cpp timer.h
	 $(COMPILE) $(INCLUDE) timer.cpp

mesh.o: mesh.cpp mesh.h
	 $(COMPILE) $(INCLUDE) mesh.cpp

transform.o: transform.cpp transform.h
	 $(COMPILE) $(INCLUDE) transform.cpp

object.o: object.cpp object.h
	 $(COMPILE) $(INCLUDE) object.cpp

material.o: material.cpp material.h
	 $(COMPILE) $(INCLUDE) material.cpp

clean: 
	rm *.o 
