# Lazy speculation and Staged future # # $Id$ OCAMLC=ocamlc OCAMLOPT=ocamlopt .SUFFIXES: .ml .mli .cmi .cmo .cmx .cmxa .dvi .pdf .ps .tex .eps .jpg .png .bbl LIB=config.cmo server_comm.cmo wire.cmo fact.cmo album.cmo LIBI=$(LIB:.cmo=.cmi) rpc_t.cmi LIBCLIENT=future.cmo rpc_dsl.cmo LIBCLIENTI=$(LIBCLIENT:.cmo=.cmi) %.cmi: %.mli $(OCAMLC) -c $< %.cmo: %.ml %.cmi $(OCAMLC) -c $< %.cmx: %.ml %.cmi $(OCAMLOPT) -c $< clean:: rm -f *.cm[iox] *.[oa] *~ *.aux *.vrb server : $(LIB) $(LIBI) server.ml $(OCAMLC) unix.cma $(LIB) -o $@ server.ml clean:: rm -f server .PHONY: client_lib client_lib : $(LIB) $(LIBI) $(LIBCLIENTI) $(LIBCLIENT) fact_client: client_lib fact_client.ml $(OCAMLC) unix.cma $(LIB) $(LIBCLIENT) -o $@ $@.ml ./$@ clean:: rm -f fact_client album_client: client_lib album_client.ml $(OCAMLC) unix.cma $(LIB) $(LIBCLIENT) -o $@ $@.ml ./$@ clean:: rm -f album_client # Dependencies rpc_t.cmi : wire.cmi future.cmi : wire.cmi rpc_t.cmi rpc_dsl.cmi : wire.cmi future.cmi # Local rules fact.cmo : wire.cmi fact.ml $(OCAMLC) -c $(filter-out %.cmi,$^) album.cmo : wire.cmi album.ml $(OCAMLC) -c $(filter-out %.cmi,$^) config.cmo : config.ml $(OCAMLC) -c $(filter-out %.cmi,$^) export BIBTEX := bibtex -min-crossrefs=9999 .tex.dvi: # rm -f $(patsubst %.dvi,%.aux,$@) texi2dvi -b $< # && killall -USR1 xdvi.bin .tex.pdf: texi2dvi -b --pdf $< .pdf.ps: pdftops $< $@