# This makefile was generated using the build tool found at
# http://www.fluxionsdividebyzero/p1/misc/makefilebuildtool.html

CC=g++ -Wall
INC=-I../graphicslib/ -I../mathlib/ -I../misclib/ -I../sortsimple/ -I../zpr/ -I./
OBJ=mathlib.o tokenizer.o spiralindextest.o snakeindextest.o random.o zpr.o gobj.o gobjbase.o main.o commandline.o snakesorttest.o gobjdebug01.o message.o graphmisc.o
LIB=-lGLU -lGL -lglut


main: $(OBJ)
       $(CC) $(INC) -o main $(OBJ) $(LIB)
mathlib.o: ../mathlib/point.h ../misclib/typedefs.h ../misclib/print.h ../mathlib/zero.h ../mathlib/mathlib.cpp
       $(CC) $(INC) -c ../mathlib/mathlib.cpp
tokenizer.o: ../misclib/stringspace.h ../misclib/typedefs.h ../misclib/tokenizer.cpp ../misclib/tokenizer.h
       $(CC) $(INC) -c ../misclib/tokenizer.cpp
spiralindextest.o: gobj.o ../mathlib/point.h ../misclib/typedefs.h commandline.o graphmisc.o ../sortsimple/spiralindex.h zpr.o ../sortsimple/spiralindextest.cpp ../sortsimple/spiralindextest.h
       $(CC) $(INC) -c ../sortsimple/spiralindextest.cpp
snakeindextest.o: ../misclib/print.h ../misclib/typedefs.h ../sortsimple/snakeindex.h ../sortsimple/snakeindextest.cpp ../sortsimple/snakeindextest.h
       $(CC) $(INC) -c ../sortsimple/snakeindextest.cpp
random.o: ../mathlib/point.h ../misclib/typedefs.h ../mathlib/random.cpp ../mathlib/random.h
       $(CC) $(INC) -c ../mathlib/random.cpp
zpr.o: ../misclib/fnobj.h ../misclib/typedefs.h graphmisc.o ../zpr/zpr.cpp ../zpr/zpr.h
       $(CC) $(INC) -c ../zpr/zpr.cpp
gobj.o: gobjbase.o ../misclib/stringconvert.h ../misclib/typedefs.h ../misclib/stringspace.h tokenizer.o ../graphicslib/gobj.cpp ../graphicslib/gobj.h
       $(CC) $(INC) -c ../graphicslib/gobj.cpp
gobjbase.o: ../misclib/fnobjTfn.h ../misclib/fnobj.h ../mathlib/point.h ../misclib/typedefs.h ../misclib/print.h ../graphicslib/gobjdebug.h gobjdebug01.o ../graphicslib/gobjbase.cpp ../graphicslib/gobjbase.h
       $(CC) $(INC) -c ../graphicslib/gobjbase.cpp
main.o: commandline.o snakeindextest.o snakesorttest.o spiralindextest.o ./main.cpp
       $(CC) $(INC) -c ./main.cpp
commandline.o: ../misclib/typedefs.h ../misclib/commandline.cpp ../misclib/commandline.h
       $(CC) $(INC) -c ../misclib/commandline.cpp
snakesorttest.o: gobj.o ../mathlib/point.h ../misclib/typedefs.h ../graphicslib/pointsdisplay.h graphmisc.o ../misclib/functionalobjectoperators.h random.o ../sortsimple/snakesort.h zpr.o ../sortsimple/snakesorttest.cpp ../sortsimple/snakesorttest.h
       $(CC) $(INC) -c ../sortsimple/snakesorttest.cpp
gobjdebug01.o: ../misclib/typedefs.h message.o gobj.o ../graphicslib/gobjdebug01.cpp ../graphicslib/gobjdebug01.h
       $(CC) $(INC) -c ../graphicslib/gobjdebug01.cpp
message.o: ../misclib/typedefs.h ../misclib/message.cpp ../misclib/message.h
       $(CC) $(INC) -c ../misclib/message.cpp
graphmisc.o: commandline.o mathlib.o ../misclib/print.h ../misclib/typedefs.h gobj.o ../graphicslib/OpenGLtemplated.h ../graphicslib/graphmisc.cpp ../graphicslib/graphmisc.h
       $(CC) $(INC) -c ../graphicslib/graphmisc.cpp

clean:
       rm *.o *.order *.out gmon.* main


# Re-compile specific parts of the program. eg
# $ make del targ=windowscale
targ=__nopattern__
del:
       rm *${targ}*.o