CPP = C:\cs455\MinGW32\bin\g++.exe
CPPFLAGS = -Wall
OBJ  = FrameBuffer.o Scene.o Texture.o Triangle.o Vertex.o Vector.o Matrix.o P1_Model2World.o P2_Lighting.o P3_World2View.o P4_View2Clip.o P5_Clip.o
RM = rm -f

.PHONY: all clean

all: $(OBJ)

clean:
	${RM} $(OBJ)

FrameBuffer.o: FrameBuffer.cpp FrameBuffer.h Triangle.h Scene.h
	$(CPP) $(CPPFLAGS) -c -o FrameBuffer.o FrameBuffer.cpp

Scene.o: Scene.cpp Scene.h TriangleListNode.h Triangle.h Texture.h Light.h
	$(CPP) $(CPPFLAGS) -c -o Scene.o Scene.cpp

Texture.o: Texture.cpp Texture.h
	$(CPP) $(CPPFLAGS) -c -o Texture.o Texture.cpp

Triangle.o: Triangle.cpp Triangle.h Vertex.h Texture.h Material.h
	$(CPP) $(CPPFLAGS) -c -o Triangle.o Triangle.cpp

Vertex.o: Vertex.cpp Vertex.h
	$(CPP) $(CPPFLAGS) -c -o Vertex.o Vertex.cpp

Vector.o: Vector.cpp Vector.h
	$(CPP) $(CPPFLAGS) -c -o Vector.o Vector.cpp

Matrix.o: Matrix.cpp Matrix.h Vector.h Vertex.h
	$(CPP) $(CPPFLAGS) -c -o Matrix.o Matrix.cpp

P1_Model2World.o: P1_Model2World.cpp 
	$(CPP) $(CPPFLAGS) -c -o P1_Model2World.o P1_Model2World.cpp

P2_Lighting.o: P2_Lighting.cpp 
	$(CPP) $(CPPFLAGS) -c -o P2_Lighting.o P2_Lighting.cpp

P3_World2View.o: P3_World2View.cpp 
	$(CPP) $(CPPFLAGS) -c -o P3_World2View.o P3_World2View.cpp

P4_View2Clip.o: P4_View2Clip.cpp 
	$(CPP) $(CPPFLAGS) -c -o P4_View2Clip.o P4_View2Clip.cpp

P5_Clip.o: P5_Clip.cpp 
	$(CPP) $(CPPFLAGS) -c -o P5_Clip.o P5_Clip.cpp	
