--- /dev/null
+REQUIRES = pcre pxp
+COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o
+OCAMLC = ocamlfind ocamlc $(COMMONOPTS)
+OCAMLOPT = ocamlfind ocamlopt $(COMMONOPTS)
+OCAMLDEP = ocamlfind ocamldep $(COMMONOPTS)
+MODULES = \
+ hbugs_types threadSafe hbugs_misc hbugs_id_generator hbugs_messages
+
+OBJS = $(patsubst %,%.cmo,$(MODULES))
+OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
+
+all: byte
+byte: $(OBJS)
+opt: $(OBJSOPT)
+world: byte opt
+
+include .depend
+depend:
+ $(OCAMLDEP) *.ml *.mli > .depend
+
+%.cmi: %.mli
+ $(OCAMLC) -c $<
+%.cmo: %.ml %.cmi
+ $(OCAMLC) -c $<
+%.cmx: %.ml %.cmi
+ $(OCAMLOPT) -c $<
+include Makefile.overrides
+
+distclean: clean
+clean:
+ rm -f *.cm[aiox] *.o $(NAME){,.opt}
+
+.PHONY: all byte opt world depend clean
+