OCAMLC=ocamlfind ocamlc 
OCAMLOPT=ocamlfind ocamlopt
REQUIRES=xmlrpc

all: spellcheck sumdiff

opt: spellcheck.opt sumdiff.opt

spellcheck: speller.cmo test_speller.cmo 
	$(OCAMLC) -package "$(REQUIRES)" -linkpkg -o spellcheck $^

spellcheck.opt: speller.cmx test_speller.cmx
	$(OCAMLOPT) -package "$(REQUIRES)" -linkpkg -o spellcheck.opt $^

sumdiff: div.cmo

div.cmo: div.cmi
div.cmx: div.cmi
div.mli: div.ml
speller.cmo: speller.cmi
speller.cmx: speller.cmi
speller.mli: speller.ml


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

.ml.cmo:
	$(OCAMLC) -package "$(REQUIRES)" -c $<

.ml.cmx:
	$(OCAMLOPT) -package "$(REQUIRES)" -c $<

.mli.cmi:
	$(OCAMLC) -package "$(REQUIRES)" -c $<

%.ml: %.idl;
	../oxridl $<

.PHONY: clean
clean:
	rm -f *.cmi *.cmo *.cmx *.o 