
# Standard defs:
OBJS = $(SRC:.hs=.o)
GHC  = ghc
CC   = gcc
RM   = rm -f

BASICFLAGS = -fglasgow-exts -recomp -static -dcore-lint -fvia-C -i../../TclHaskellSrc -syslib concurrent

FLAGS = -O $(BASICFLAGS)

DEPENDFLAGS = -fglasgow-exts -syslib concurrent -i../../TclHaskellSrc

STATICTYPES = Compatibility.ghc.hs BaseTypes.hs Force.hs \
              ColorCore.hs Vector2.hs VectorSpace.hs Point2.hs Vector3.hs \
              Point3.hs Transform2.hs Rect.hs Transform3.hs StaticTypes.hs

SRC =  $(STATICTYPES)

static: StaticTypes.o

Compatibility.hi: Compatibility.ghc.o
		@:

Compatibility.ghc.o: Compatibility.ghc.hs
	$(GHC) $(FLAGS) -c -ohi Compatibility.hi Compatibility.ghc.hs

### Boilerplate GHC stuff

.SUFFIXES	: .lhs .hs .hi .o

depend :: 	$(SRC)
		$(GHC) -M $(DEPENDFLAGS) $(SRC)

clean ::
	$(RM) *.o *.hi *.exe

%.hi		: %.o
		@:

%.o		: %.hs
		$(RM) $@
		$(GHC) $(FLAGS) -c $< 


# DO NOT DELETE: Beginning of Haskell dependencies
Compatibility.ghc.o : Compatibility.ghc.hs
BaseTypes.o : BaseTypes.hs
BaseTypes.o : ../../TclHaskellSrc/Utils.hi
BaseTypes.o : ./Compatibility.hi
Force.o : Force.hs
ColorCore.o : ColorCore.hs
ColorCore.o : ./BaseTypes.hi
ColorCore.o : ./Compatibility.hi
Vector2.o : Vector2.hs
Vector2.o : ./BaseTypes.hi
Vector2.o : ./VectorSpace.hi
Vector2.o : ./Force.hi
VectorSpace.o : VectorSpace.hs
VectorSpace.o : ./Compatibility.hi
VectorSpace.o : ./BaseTypes.hi
Point2.o : Point2.hs
Point2.o : ./BaseTypes.hi
Point2.o : ./VectorSpace.hi
Point2.o : ./Vector2.hi
Point2.o : ./Force.hi
Vector3.o : Vector3.hs
Vector3.o : ./BaseTypes.hi
Vector3.o : ./VectorSpace.hi
Vector3.o : ./Force.hi
Point3.o : Point3.hs
Point3.o : ./BaseTypes.hi
Point3.o : ./VectorSpace.hi
Point3.o : ./Vector3.hi
Point3.o : ./Force.hi
Transform2.o : Transform2.hs
Transform2.o : ./BaseTypes.hi
Transform2.o : ./Vector2.hi
Transform2.o : ./Point2.hi
Transform2.o : ./VectorSpace.hi
Rect.o : Rect.hs
Rect.o : ./BaseTypes.hi
Rect.o : ./Point2.hi
Rect.o : ./Vector2.hi
Rect.o : ./VectorSpace.hi
Rect.o : ./Transform2.hi
Transform3.o : Transform3.hs
Transform3.o : ./BaseTypes.hi
Transform3.o : ./Vector3.hi
Transform3.o : ./Point3.hi
StaticTypes.o : StaticTypes.hs
StaticTypes.o : ./BaseTypes.hi
StaticTypes.o : ./VectorSpace.hi
StaticTypes.o : ./Vector2.hi
StaticTypes.o : ./Point2.hi
StaticTypes.o : ./Rect.hi
StaticTypes.o : ./Transform2.hi
StaticTypes.o : ./ColorCore.hi
# DO NOT DELETE: End of Haskell dependencies
