OCAMLDIR:=$(shell ocamlc -where)
CSLC = ocamlc
CSLOPT = ocamlopt
NORM_OBJS= mpfr.cmo mpfi.cmo
OPT_OBJS=  $(NORM_OBJS:.cmo=.cmx)

all : interval.cma interval.cmxa libinterval.a ocamlfpu

interval.cma: $(NORM_OBJS)
	$(CSLC) -a -custom -o interval.cma $(NORM_OBJS)


interval.cmxa: $(OPT_OBJS)
	$(CSLOPT) -a -o interval.cmxa  $(OPT_OBJS)

libinterval.a: mpfr_c.o mpfi_c.o
	rm -f $@
	ar rc $@  mpfr_c.o mpfi_c.o
	ranlib $@

ocamlfpu: interval.cma libinterval.a
	ocamlmktop -o ocamlfpu  interval.cma libinterval.a -cclib -lmpfr -cclib -lmpfi


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

.ml.cmo :
	$(CSLC) -c $<
.mli.cmi :
	$(CSLC) -c $<
.ml.cmx :
	$(CSLOPT) -c $<
.c.o :
	$(CC) -W -Wall -O5 -I $(OCAMLDIR)/caml -c  $<

clean:
	\rm -f *.cmo *.cmi *.cmx *.o *~ *.cma *.cmxa *.a ocamlfpu

depend:
	ocamldep *.mli *.ml > .depend

include .depend
