TARGETS = Main.hs CTRS.hs Benchmarks.hs FrontEnd.hs BackEnd.hs CTRSFrontEnd.hs 

HS  = AVLMap.hs AVLSet.hs AVLTree.hs CiME.hs DependencyPairs.hs            \
      LaTeX.hs LogicProgram.hs Map.hs Moding.hs Options.hs                 \
      ParseS.hs Parser.hs RTrafo.hs ReadTerm.hs Set.hs Signature.hs        \
      SimpleMap.hs SimpleSet.hs StandardProlog.hs TRS.hs Term.hs UTrafo.hs \
      Unify.hs Var.hs WellModedProgram.hs Interpretation.hs Result.hs      \
      BuiltIns.hs HTML.hs CGI.hs Examples.hs TrsTex.hs SimplyModed.hs      \
      Arts.hs

LHS = GetOpt.lhs 


HC = ghc
HC_OPTS_JK = -XScopedTypeVariables
HC_OPTS =  -cpp $(EXTRA_HC_OPTS)

STRIP = strip
RUNHUGS = runhugs

.SUFFIXES: .hs .lhs .hi .o 


SRCS = $(HS) $(LHS)
OBJS = $(HS:.hs=.o) $(LHS:.lhs=.o)


all: talp_front talp_back ctrs_front


###############################################################################
#
#  Web Tools

talp_front: $(OBJS) FrontEnd.o
	@$(RM) $@
	$(HC) -o $@ $(HC_OPTS) FrontEnd.o $(OBJS)

talp_back: $(OBJS) BackEnd.o
	@$(RM) $@
	$(HC) -o $@ $(HC_OPTS) BackEnd.o $(OBJS)

ctrs_front: $(OBJS) CTRSFrontEnd.o
	@$(RM) $@
	$(HC) -o $@ $(HC_OPTS) CTRSFrontEnd.o $(OBJS)


###############################################################################
#
#  Command Line Tools

talp: $(OBJS) Main.o
	@$(RM) $@
	$(HC) -o $@ $(HC_OPTS) Main.o $(OBJS)
	$(STRIP) $@

ctrs: $(OBJS) CTRS.o
	@$(RM) $@
	$(HC) -o $@ $(HC_OPTS) CTRS.o $(OBJS)
	$(STRIP) $@

benchmarks: $(OBJS) Benchmarks.o
	@$(RM) $@
	$(HC) -o $@ $(HC_OPTS) Benchmarks.o $(OBJS)
	$(STRIP) $@

TrsTex.hs: MakeTrsTex.hs
	$(RUNHUGS) MakeTrsTex.hs


###############################################################################
#
#  Other

depend: $(SRCS) $(TARGETS)
	$(HC) -M $(SRCS) $(TARGETS)

clean:
	$(RM) $(OBJS) $(OBJS:.o=.hi) $(OBJS:.hs=.hi) $(TARGETS:.hs=.hi) \
              $(OBJS:.hs=.o) $(TARGETS:.hs=.o) \
              TrsTex.hs Makefile.bak talp_front talp_back ctrs_front


###############################################################################
#
#  Rules


.o.hi:
	@:

.hs.o:
	$(HC) -c $(HC_OPTS_JK) $< $(HC_OPTS)

.lhs.o:
	$(HC) -c $(HC_OPTS_JK) $< $(HC_OPTS)


# DO NOT DELETE: Beginning of Haskell dependencies
AVLMap.o : AVLMap.hs
AVLMap.o : ./Map.hi
AVLMap.o : ./AVLTree.hi
AVLSet.o : AVLSet.hs
AVLSet.o : ./Set.hi
AVLSet.o : ./AVLTree.hi
AVLTree.o : AVLTree.hs
CiME.o : CiME.hs
CiME.o : ./Result.hi
CiME.o : ./ParseS.hi
CiME.o : ./Options.hi
CiME.o : ./Term.hi
CiME.o : ./TRS.hi
CiME.o : ./Signature.hi
CiME.o : ./SimpleSet.hi
CiME.o : ./Interpretation.hi
DependencyPairs.o : DependencyPairs.hs
DependencyPairs.o : ./AVLSet.hi
DependencyPairs.o : ./Term.hi
DependencyPairs.o : ./TRS.hi
DependencyPairs.o : ./Unify.hi
LaTeX.o : LaTeX.hs
LaTeX.o : ./Term.hi
LaTeX.o : ./TRS.hi
LaTeX.o : ./TrsTex.hi
LaTeX.o : ./DependencyPairs.hi
LogicProgram.o : LogicProgram.hs
LogicProgram.o : ./Term.hi
LogicProgram.o : ./StandardProlog.hi
LogicProgram.o : ./SimpleSet.hi
LogicProgram.o : ./SimpleMap.hi
LogicProgram.o : ./AVLMap.hi
Map.o : Map.hs
Moding.o : Moding.hs
Moding.o : ./Term.hi
Options.o : Options.hs
ParseS.o : ParseS.hs
ParseS.o : ./Parser.hi
Parser.o : Parser.hs
RTrafo.o : RTrafo.hs
RTrafo.o : ./Term.hi
RTrafo.o : ./WellModedProgram.hi
RTrafo.o : ./TRS.hi
ReadTerm.o : ReadTerm.hs
ReadTerm.o : ./Var.hi
ReadTerm.o : ./Moding.hi
ReadTerm.o : ./AVLMap.hi
ReadTerm.o : ./Parser.hi
Set.o : Set.hs
Signature.o : Signature.hs
Signature.o : ./Term.hi
Signature.o : ./TRS.hi
Signature.o : ./AVLMap.hi
Signature.o : ./AVLSet.hi
SimpleMap.o : SimpleMap.hs
SimpleMap.o : ./Map.hi
SimpleSet.o : SimpleSet.hs
SimpleSet.o : ./Set.hi
StandardProlog.o : StandardProlog.hs
StandardProlog.o : ./Var.hi
StandardProlog.o : ./Moding.hi
StandardProlog.o : ./AVLMap.hi
StandardProlog.o : ./Parser.hi
StandardProlog.o : ./ReadTerm.hi
TRS.o : TRS.hs
TRS.o : ./Term.hi
Term.o : Term.hs
Term.o : ./Var.hi
UTrafo.o : UTrafo.hs
UTrafo.o : ./Term.hi
UTrafo.o : ./TRS.hi
Unify.o : Unify.hs
Unify.o : ./Term.hi
Var.o : Var.hs
Var.o : ./Set.hi
WellModedProgram.o : WellModedProgram.hs
WellModedProgram.o : ./Term.hi
WellModedProgram.o : ./StandardProlog.hi
WellModedProgram.o : ./LogicProgram.hi
WellModedProgram.o : ./Moding.hi
WellModedProgram.o : ./SimpleSet.hi
WellModedProgram.o : ./AVLMap.hi
WellModedProgram.o : ./Result.hi
Interpretation.o : Interpretation.hs
Interpretation.o : ./ParseS.hi
Interpretation.o : ./Term.hi
Result.o : Result.hs
BuiltIns.o : BuiltIns.hs
BuiltIns.o : ./WellModedProgram.hi
BuiltIns.o : ./SimpleSet.hi
BuiltIns.o : ./AVLMap.hi
BuiltIns.o : ./Result.hi
HTML.o : HTML.hs
HTML.o : ./CGI.hi
CGI.o : CGI.hs
CGI.o : ./ParseS.hi
Examples.o : Examples.hs
Examples.o : ./Options.hi
TrsTex.o : TrsTex.hs
SimplyModed.o : SimplyModed.hs
SimplyModed.o : ./Term.hi
SimplyModed.o : ./StandardProlog.hi
SimplyModed.o : ./LogicProgram.hi
SimplyModed.o : ./Moding.hi
SimplyModed.o : ./SimpleSet.hi
SimplyModed.o : ./AVLMap.hi
SimplyModed.o : ./Result.hi
SimplyModed.o : ./WellModedProgram.hi
GetOpt.o : GetOpt.lhs
Main.o : Main.hs
Main.o : ./GetOpt.hi
Main.o : ./Result.hi
Main.o : ./Options.hi
Main.o : ./AVLMap.hi
Main.o : ./WellModedProgram.hi
Main.o : ./SimplyModed.hi
Main.o : ./BuiltIns.hi
Main.o : ./RTrafo.hi
Main.o : ./UTrafo.hi
Main.o : ./Signature.hi
Main.o : ./CiME.hi
Main.o : ./DependencyPairs.hi
Main.o : ./LaTeX.hi
Benchmarks.o : Benchmarks.hs
Benchmarks.o : ./Result.hi
Benchmarks.o : ./Options.hi
Benchmarks.o : ./Examples.hi
Benchmarks.o : ./StandardProlog.hi
Benchmarks.o : ./WellModedProgram.hi
Benchmarks.o : ./BuiltIns.hi
Benchmarks.o : ./RTrafo.hi
Benchmarks.o : ./UTrafo.hi
Benchmarks.o : ./TRS.hi
Benchmarks.o : ./Signature.hi
Benchmarks.o : ./CiME.hi
Benchmarks.o : ./DependencyPairs.hi
Benchmarks.o : ./Interpretation.hi
FrontEnd.o : FrontEnd.hs
FrontEnd.o : ./GetOpt.hi
FrontEnd.o : ./ParseS.hi
FrontEnd.o : ./HTML.hi
FrontEnd.o : ./Result.hi
FrontEnd.o : ./Options.hi
FrontEnd.o : ./StandardProlog.hi
FrontEnd.o : ./WellModedProgram.hi
FrontEnd.o : ./BuiltIns.hi
FrontEnd.o : ./RTrafo.hi
FrontEnd.o : ./UTrafo.hi
FrontEnd.o : ./TRS.hi
FrontEnd.o : ./Signature.hi
FrontEnd.o : ./CiME.hi
FrontEnd.o : ./Interpretation.hi
FrontEnd.o : ./DependencyPairs.hi
BackEnd.o : BackEnd.hs
BackEnd.o : ./HTML.hi
BackEnd.o : ./Result.hi
BackEnd.o : ./CiME.hi
BackEnd.o : ./Interpretation.hi
# DO NOT DELETE: End of Haskell dependencies
