--- /dev/null
+OCAMLOPTIONS = -package netstring -package netclient -package pxp
+
+OCAMLDEP = ocamldep
+OCAMLFIND = ocamlfind
+OCAMLC = $(OCAMLFIND) ocamlc $(OCAMLOPTIONS)
+OCAMLOPT = $(OCAMLFIND) ocamlopt $(OCAMLOPTIONS)
+
+all: mk_forward
+opt: mk_forward.opt
+
+DEPOBJS = xml.ml xml.mli csc_pxp_reader.ml configuration.ml \
+ clientHTTP.ml clientHTTP.mli cic.ml deannotate.ml \
+ uriManager.ml uriManager.mli getter.ml getter.mli \
+ pxpUriResolver.ml cicParser3.ml cicParser3.mli \
+ cicParser2.ml cicParser2.mli cicParser.ml \
+ cicParser.mli cicSubstitution.ml cicSubstitution.mli \
+ cicMiniReduction.ml cicMiniReduction.mli mk_forward.ml
+
+MKFORWARDOBJS = xml.cmo csc_pxp_reader.cmo configuration.cmo \
+ clientHTTP.cmo cic.cmo deannotate.cmo \
+ uriManager.cmo getter.cmo pxpUriResolver.ml \
+ cicParser3.cmo cicParser2.cmo cicParser.cmo \
+ cicSubstitution.cmo cicMiniReduction.cmo \
+ mk_forward.cmo
+
+depend:
+ $(OCAMLDEP) $(DEPOBJS) > .depend
+
+mk_forward: $(MKFORWARDOBJS)
+ $(OCAMLC) -linkpkg -o mk_forward $(MKFORWARDOBJS)
+
+mk_forward.opt: $(MKFORWARDOBJS:.cmo=.cmx)
+ $(OCAMLOPT) -linkpkg -o mk_forward.opt $(MKFORWARDOBJS:.cmo=.cmx)
+
+.SUFFIXES: .ml .mli .cmo .cmi .cmx
+.ml.cmo:
+ $(OCAMLC) -c $<
+.mli.cmi:
+ $(OCAMLC) -c $<
+.ml.cmx:
+ $(OCAMLOPT) -c $<
+
+clean:
+ rm -f *.cm[iox] *.o mk_forward mk_forward.opt
+
+.PHONY: clean
+
+include .depend