OCAMLC = ocamlc
OCAMLOPT = ocamlopt
OCAMLDEP= ocamldep
INCLUDES= 
OCAMLFLAGS= $(INCLUDES) -g
OCAMLOPTFLAGS=  $(INCLUDES)

NORM_LIBS = graphics.cma
OPT_LIBS = $(NORM_LIBS:.cma=.cmxa)
LIBS =

MAKECOEF_OBJS= makecoef.cmo 
MAKECOEF_OPT_OBJS=  $(MAKECOEF_OBJS:.cmo=.cmx)

ABA_OBJS= mset.cmo aba.cmo 
ABA_OPT_OBJS= $(ABA_OBJS:.cmo=.cmx)

all : norm opt

norm : aba makecoef

opt : abaopt makecoefopt


aba :  $(ABA_OBJS)
	$(OCAMLC) $(OCAMLFLAGS) $(NORM_LIBS) -o $@ $(ABA_OBJS) $(LIBS)

abaopt :  $(ABA_OPT_OBJS)
	$(OCAMLOPT) $(OCAMLOPTFLAGS) $(OPT_LIBS) -o $@ $(ABA_OPT_OBJS) $(LIBS)

makecoef : $(MAKECOEF_OBJS)
	$(OCAMLC) $(OCAMLFLAGS) $(NORM_LIBS) -o $@ $(MAKECOEF_OBJS) $(LIBS)

makecoefopt : $(MAKECOEF_OPT_OBJS)
	$(OCAMLOPT) $(OCAMLOPTFLAGS) $(OPT_LIBS) -o $@ $(MAKECOEF_OPT_OBJS) $(LIBS)


.SUFFIXES: .ml .mli .cmo .cmi .cmx

.ml.cmo :
	$(OCAMLC) $(OCAMLFLAGS) -c $<
.mli.cmi :
	$(OCAMLC) $(OCAMLFLAGS) -c $<
.ml.cmx :
	$(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<

clean:
	\rm -f *.cmo *.cmi *.cmx *.o *.a *.cma *.cmxa aba abaopt *~  abaopt makecoef makecoefopt  stdcoefs

depend:
	$(OCAMLDEP) $(INCLUDES) *.mli *.ml >.depend

include .depend










