# WF makefile
#
# targets are:
#
# all -- rebuild the project (default)
# clean -- remove objects and executables

export SHELL = /bin/bash
export PATH = $$PATH:/bin:/usr/local/bin

SOURCES = gaussian.ml corecursive.ml substitution/fv.ml \
substitution/substitution.ml \
substitution/alexandra.ml substitution/subst_toploop.ml \
stream/stream.ml stream/descending.ml stream/equality.ml \
stream/finite.ml \
probability/probability.ml probability/dexter.ml probability/flips.ml \
probability/outcome.ml ai.ml automatic/fhgen.ml automatic/dfg_untyped.ml \
padic/common.ml padic/from_rational.ml padic/to_string.ml padic/equal.ml \
padic/addi.ml ifloat/to_lists.ml\
padic/mult1.ml padic/multi.ml padic/from_list.ml padic/divi.ml \
padic/to_float.ml padic/divzeros.ml padic/normalize.ml \
padic/padic.ml \
ifloat/fnormalize.ml ifloat/addf.ml ifloat/ifloat.ml \
main.ml

.PHONY: all
all: wf.exe

.PHONY: clean
clean:
	rm -f wf.exe
	for X in . substitution probability stream automatic padic simple ifloat; do \
      for Y in cmo cmi cma output; do \
        rm -f $$X/*.$$Y; \
      done; \
    done

wf.exe: $(SOURCES)
	ocamlc -o wf.exe str.cma toplevellib.cma -g -I substitution -I probability -I stream -I padic -I ifloat $(SOURCES)
