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

CC=g++ -Wall
INC=-I../graphicslib/ -I../intersectiontests/ -I../mathlib/ -I../misclib/ -I../zpr/ -I./
OBJ=cylinder.o d2arrow.o disk.o planeinttest.o mathlib.o boxOBBhalfspaceD2test.o tokenizer.o primitivewindow.o plane.o textoverlay.o random.o zpr.o myglutgui.o gobj.o gobjbase.o planepointsurface.o menusystem.o angles.o circleD2test.o main.o d2simplexSeparateAxis.o commandline.o pointsurface.o d2simplexintersection.o d2simplextest.o gobjdebug01.o diskinttest.o message.o graphmisc.o d2homogeneous.o d2simplex.o
LIB=-lGLU -lGL -lglut


main: $(OBJ)
       $(CC) $(INC) -o main $(OBJ) $(LIB)
cylinder.o: ../mathlib/point.h ../misclib/typedefs.h mathlib.o ../mathlib/cylinder.cpp
       $(CC) $(INC) -c ../mathlib/cylinder.cpp
d2arrow.o: ../misclib/print.h ../misclib/typedefs.h ../mathlib/point.h gobj.o mathlib.o d2homogeneous.o ../intersectiontests/d2arrow.cpp ../intersectiontests/d2arrow.h
       $(CC) $(INC) -c ../intersectiontests/d2arrow.cpp
disk.o: plane.o ../mathlib/point.h ../misclib/typedefs.h mathlib.o ../mathlib/zero.h ../mathlib/disk.cpp ../mathlib/disk.h
       $(CC) $(INC) -c ../mathlib/disk.cpp
planeinttest.o: ../misclib/print.h ../misclib/typedefs.h gobj.o commandline.o graphmisc.o planepointsurface.o pointsurface.o zpr.o ../intersectiontests/planeinttest.cpp ../intersectiontests/planeinttest.h
       $(CC) $(INC) -c ../intersectiontests/planeinttest.cpp
mathlib.o: ../mathlib/point.h ../misclib/typedefs.h ../misclib/print.h ../mathlib/zero.h ../mathlib/mathlib.cpp ../mathlib/mathlib.h
       $(CC) $(INC) -c ../mathlib/mathlib.cpp
boxOBBhalfspaceD2test.o: ../intersectiontests/boxOBBhalfspaceD2.h ../mathlib/line.h mathlib.o ../misclib/typedefs.h ../mathlib/zero.h gobj.o ../mathlib/point.h commandline.o ../graphicslib/pointsdisplay.h graphmisc.o menusystem.o zpr.o ../intersectiontests/boxOBBhalfspaceD2test.cpp ../intersectiontests/boxOBBhalfspaceD2test.h
       $(CC) $(INC) -c ../intersectiontests/boxOBBhalfspaceD2test.cpp
tokenizer.o: ../misclib/stringspace.h ../misclib/typedefs.h ../misclib/tokenizer.cpp ../misclib/tokenizer.h
       $(CC) $(INC) -c ../misclib/tokenizer.cpp
primitivewindow.o: gobj.o graphmisc.o ../mathlib/point.h ../misclib/typedefs.h ../graphicslib/primitivewindow.cpp ../graphicslib/primitivewindow.h
       $(CC) $(INC) -c ../graphicslib/primitivewindow.cpp
plane.o: ../misclib/print.h ../misclib/typedefs.h ../mathlib/point.h ../mathlib/zero.h mathlib.o ../mathlib/plane.cpp ../mathlib/plane.h
       $(CC) $(INC) -c ../mathlib/plane.cpp
textoverlay.o: gobj.o ../graphicslib/textoverlay.cpp ../graphicslib/textoverlay.h
       $(CC) $(INC) -c ../graphicslib/textoverlay.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
myglutgui.o: ../misclib/print.h ../misclib/typedefs.h zpr.o graphmisc.o ../graphicslib/myglutgui.cpp ../graphicslib/myglutgui.h
       $(CC) $(INC) -c ../graphicslib/myglutgui.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
planepointsurface.o: plane.o ../misclib/typedefs.h ../mathlib/point.h ../mathlib/zero.h ../intersectiontests/planepointsurface.cpp ../intersectiontests/planepointsurface.h
       $(CC) $(INC) -c ../intersectiontests/planepointsurface.cpp
menusystem.o: ../mathlib/point.h ../misclib/typedefs.h gobj.o textoverlay.o tokenizer.o ../graphicslib/menusystem.cpp ../graphicslib/menusystem.h
       $(CC) $(INC) -c ../graphicslib/menusystem.cpp
angles.o: ../misclib/typedefs.h ../mathlib/point.h mathlib.o ../mathlib/angles.cpp ../mathlib/angles.h
       $(CC) $(INC) -c ../mathlib/angles.cpp
circleD2test.o: ../intersectiontests/boxOBBhalfspaceD2.h ../mathlib/line.h mathlib.o ../misclib/typedefs.h ../mathlib/zero.h ../intersectiontests/circleD2.h gobj.o ../mathlib/point.h commandline.o graphmisc.o menusystem.o zpr.o ../intersectiontests/circleD2test.cpp ../intersectiontests/circleD2test.h
       $(CC) $(INC) -c ../intersectiontests/circleD2test.cpp
main.o: boxOBBhalfspaceD2test.o circleD2test.o commandline.o d2simplextest.o diskinttest.o planeinttest.o ../mathlib/zero.h ../misclib/typedefs.h ./main.cpp
       $(CC) $(INC) -c ./main.cpp
d2simplexSeparateAxis.o: d2simplex.o ../mathlib/halfspaceD2.h ../misclib/typedefs.h ../mathlib/partitionspace.h mathlib.o ../mathlib/zero.h ../intersectiontests/d2simplexSeparateAxis.cpp ../intersectiontests/d2simplexSeparateAxis.h
       $(CC) $(INC) -c ../intersectiontests/d2simplexSeparateAxis.cpp
commandline.o: ../misclib/typedefs.h ../misclib/commandline.cpp ../misclib/commandline.h
       $(CC) $(INC) -c ../misclib/commandline.cpp
pointsurface.o: ../mathlib/point.h ../misclib/typedefs.h gobj.o random.o ../graphicslib/pointsurface.cpp ../graphicslib/pointsurface.h
       $(CC) $(INC) -c ../graphicslib/pointsurface.cpp
d2simplexintersection.o: gobj.o d2simplex.o d2arrow.o ../intersectiontests/d2simplexintersection.cpp ../intersectiontests/d2simplexintersection.h
       $(CC) $(INC) -c ../intersectiontests/d2simplexintersection.cpp
d2simplextest.o: myglutgui.o d2simplex.o d2simplexSeparateAxis.o d2simplexintersection.o menusystem.o zpr.o d2arrow.o gobj.o graphmisc.o mathlib.o primitivewindow.o ../intersectiontests/d2simplextest.cpp ../intersectiontests/d2simplextest.h
       $(CC) $(INC) -c ../intersectiontests/d2simplextest.cpp
gobjdebug01.o: ../misclib/typedefs.h message.o gobj.o ../graphicslib/gobjdebug01.cpp ../graphicslib/gobjdebug01.h
       $(CC) $(INC) -c ../graphicslib/gobjdebug01.cpp
diskinttest.o: cylinder.o disk.o gobj.o graphmisc.o plane.o angles.o commandline.o ../mathlib/line.h mathlib.o ../misclib/typedefs.h ../mathlib/zero.h menusystem.o ../mathlib/point.h planepointsurface.o pointsurface.o zpr.o ../intersectiontests/diskinttest.cpp ../intersectiontests/diskinttest.h
       $(CC) $(INC) -c ../intersectiontests/diskinttest.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
d2homogeneous.o: ../mathlib/point.h ../misclib/typedefs.h ../misclib/print.h ../mathlib/d2homogeneous.cpp ../mathlib/d2homogeneous.h
       $(CC) $(INC) -c ../mathlib/d2homogeneous.cpp
d2simplex.o: ../misclib/print.h ../misclib/typedefs.h ../mathlib/point.h mathlib.o d2homogeneous.o ../intersectiontests/d2simplex.cpp ../intersectiontests/d2simplex.h
       $(CC) $(INC) -c ../intersectiontests/d2simplex.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