--- /dev/null
+REQUIRES = http helm-cic_textual_parser helm-cic_proof_checking \
+ helm-xml gdome2-xslt helm-cic_unification helm-mathql \
+ helm-mathql_interpreter helm-mathql_generator netclient
+OCAMLOPTIONS = -package "$(REQUIRES)" -pp camlp4o -I ../gTopLevel
+OCAMLC = ocamlfind ocamlc $(OCAMLOPTIONS)
+OCAMLOPT = ocamlfind ocamlopt $(OCAMLOPTIONS)
+
+GTOPLEVEL_MODULES = disambiguate
+MODULES =
+CMOS = $(patsubst %,%.cmo,$(MODULES))
+CMXS = $(patsubst %,%.cmx,$(MODULES))
+LIBRARIES = $(patsubst %,../gTopLevel/%.cmo,$(GTOPLEVEL_MODULES))
+LIBRARIES_OPT = $(patsubst %,../gTopLevel/%.cmx,$(GTOPLEVEL_MODULES))
+
+all: byte
+world: byte opt
+byte: searchEngine
+opt: searchEngine.opt
+
+searchEngine: $(LIBRARIES) $(CMOS) searchEngine.ml
+ $(OCAMLC) -linkpkg -o $@ $^
+searchEngine.opt: $(LIBRARIES_OPT) $(CMXS) searchEngine.ml
+ $(OCAMLOPT) -linkpkg -o $@ $^
+
+clean:
+ rm -f *.cm[aiox] *.o searchEngine{,.opt}
+
+.PHONY: all opt clean