#####
# Compiler Options
#####

CPP = g++
CPPFLAGS = -Wall -Wno-deprecated

# Linux
#INCLUDES = -I/usr/local/include
#LIB_PATHS = -L/usr/local/lib -L/usr/X11/lib
#LIBRARIES = -lglut -lGL -lGLU -ltiff

# Win32
INCLUDES =
LIB_PATHS =
LIBRARIES = -lopengl32 -lglu32 -lglut32 -lstdc++ -ltiff


#####
# General Targets
#####

.PHONY : all
all : t^3

.PHONY : clean
clean :
	@rm -fv *~
	@rm -fv *.o
	@rm -fv t^3
	@rm -fv t^3.exe

#####
# Binaries
#####

t^3 : t3.o starfield.o block.o pieces.o xyz.o rgb.o
	$(CPP) $(CPPFLAGS) $(INCLUDES) $(LIB_PATHS) -o t^3 $^ $(LIBRARIES)

#####
# Object Files
#####

t3.o : t3.hpp t3.cpp starfield.o block.o pieces.o xyz.o rgb.o
	$(CPP) $(CPPFLAGS) $(INCLUDES) -c t3.cpp

pieces.o : pieces.hpp pieces.cpp block.o xyz.o rgb.o
	$(CPP) $(CPPFLAGS) $(INCLUDES) -c pieces.cpp

block.o : block.hpp block.cpp xyz.o rgb.o
	$(CPP) $(CPPFLAGS) $(INCLUDES) -c block.cpp

starfield.o : starfield.hpp starfield.cpp
	$(CPP) $(CPPFLAGS) $(INCLUDES) -c starfield.cpp

xyz.o : xyz.hpp xyz.cpp
	$(CPP) $(CPPFLAGS) $(INCLUDES) -c xyz.cpp

rgb.o : rgb.hpp rgb.cpp
	$(CPP) $(CPPFLAGS) $(INCLUDES) -c rgb.cpp



