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

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

FLAGS = -O $(BASICFLAGS)

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

FRANPRIM = EventPrim.lhs WirePrim.lhs ListenerPrim.lhs ListenerOps.lhs \
           TermE.lhs MutSet.hs Event.lhs BPrim.lhs WorkPool.lhs FranTime.hs \
           Behavior.lhs FranPrim.hs Listener.lhs Delayed.lhs

FRAN = BehaviorIO.hs FRPImpl.lhs
FRANB = FranBehavior.hs
SRC = $(FRANPRIM) $(FRAN) $(FRANB)

francore : FRPImpl.o StaticTypes.o
franB: FranBehavior.o StaticTypes.o
franprim: FranPrim.o

### 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
EventPrim.o : EventPrim.lhs
EventPrim.o : ./ListenerOps.hi
EventPrim.o : ../../TclHaskellSrc/Remover.hi
EventPrim.o : ./MutSet.hi
EventPrim.o : ./TermE.hi
EventPrim.o : ../../TclHaskellSrc/Utils.hi
EventPrim.o : ../StaticTypes/Compatibility.hi
EventPrim.o : ./FranTime.hi
EventPrim.o : ../StaticTypes/BaseTypes.hi
EventPrim.o : ./WirePrim.hi
WirePrim.o : WirePrim.lhs
WirePrim.o : ./ListenerOps.hi
WirePrim.o : ../../TclHaskellSrc/Remover.hi
WirePrim.o : ./MutSet.hi
WirePrim.o : ./TermE.hi
WirePrim.o : ../../TclHaskellSrc/Utils.hi
WirePrim.o : ../StaticTypes/Compatibility.hi
WirePrim.o : ./FranTime.hi
WirePrim.o : ../StaticTypes/BaseTypes.hi
ListenerPrim.o : ListenerPrim.lhs
ListenerPrim.o : ../StaticTypes/BaseTypes.hi
ListenerPrim.o : ./MutSet.hi
ListenerPrim.o : ./FranTime.hi
ListenerOps.o : ListenerOps.lhs
ListenerOps.o : ./ListenerPrim.hi
ListenerOps.o : ../StaticTypes/BaseTypes.hi
ListenerOps.o : ./FranTime.hi
TermE.o : TermE.lhs
TermE.o : ./ListenerOps.hi
TermE.o : ./MutSet.hi
TermE.o : ../../TclHaskellSrc/Utils.hi
TermE.o : ../../TclHaskellSrc/Remover.hi
MutSet.o : MutSet.hs
MutSet.o : ../StaticTypes/Compatibility.hi
MutSet.o : ../../TclHaskellSrc/Utils.hi
MutSet.o : ../../TclHaskellSrc/Remover.hi
Event.o : Event.lhs
Event.o : ./EventPrim.hi
Event.o : ./WirePrim.hi
Event.o : ../StaticTypes/BaseTypes.hi
Event.o : ./Listener.hi
BPrim.o : BPrim.lhs
BPrim.o : ../StaticTypes/Compatibility.hi
BPrim.o : ../StaticTypes/BaseTypes.hi
BPrim.o : ./EventPrim.hi
BPrim.o : ./Event.hi
BPrim.o : ./FranTime.hi
BPrim.o : ./Delayed.hi
WorkPool.o : WorkPool.lhs
WorkPool.o : ./Delayed.hi
WorkPool.o : ../StaticTypes/BaseTypes.hi
WorkPool.o : ./MutSet.hi
WorkPool.o : ./Event.hi
WorkPool.o : ./EventPrim.hi
WorkPool.o : ./FranTime.hi
WorkPool.o : ./BPrim.hi
WorkPool.o : ../StaticTypes/Compatibility.hi
WorkPool.o : ./ListenerOps.hi
FranTime.o : FranTime.hs
FranTime.o : ../StaticTypes/BaseTypes.hi
Behavior.o : Behavior.lhs
Behavior.o : ./BPrim.hi
Behavior.o : ../StaticTypes/BaseTypes.hi
Behavior.o : ./Event.hi
Behavior.o : ./EventPrim.hi
Behavior.o : ./FranTime.hi
Behavior.o : ../StaticTypes/Compatibility.hi
FranPrim.o : FranPrim.hs
FranPrim.o : ./Delayed.hi
FranPrim.o : ./BPrim.hi
FranPrim.o : ./Event.hi
FranPrim.o : ./WorkPool.hi
FranPrim.o : ./FranTime.hi
FranPrim.o : ../StaticTypes/BaseTypes.hi
FranPrim.o : ./Behavior.hi
FranPrim.o : ../../TclHaskellSrc/Remover.hi
FranPrim.o : ./EventPrim.hi
Listener.o : Listener.lhs
Listener.o : ./ListenerPrim.hi
Listener.o : ./ListenerOps.hi
Listener.o : ./FranTime.hi
Delayed.o : Delayed.lhs
BehaviorIO.o : BehaviorIO.hs
BehaviorIO.o : ./FranPrim.hi
BehaviorIO.o : ./EventPrim.hi
BehaviorIO.o : ./BPrim.hi
FRPImpl.o : FRPImpl.lhs
FRPImpl.o : ./FranPrim.hi
FRPImpl.o : ./BehaviorIO.hi
FranBehavior.o : FranBehavior.hs
FranBehavior.o : ./Event.hi
FranBehavior.o : ./Event.hi
FranBehavior.o : ./WorkPool.hi
FranBehavior.o : ./FranTime.hi
FranBehavior.o : ../StaticTypes/BaseTypes.hi
FranBehavior.o : ./Listener.hi
FranBehavior.o : ./Behavior.hi
FranBehavior.o : ./FranPrim.hi
FranBehavior.o : ./BehaviorIO.hi
FranBehavior.o : ./BPrim.hi
FranBehavior.o : ./BehaviorIO.hi
# DO NOT DELETE: End of Haskell dependencies
