--- /dev/null
+REQUIRES = http gdome2 gdome2-xslt threads pcre
+COMMONOPTS = -package "$(REQUIRES)" -pp camlp4o
+OCAMLC = ocamlfind ocamlc $(COMMONOPTS) -thread
+OCAMLOPT = ocamlfind ocamlopt $(COMMONOPTS) -thread
+OCAMLDEP = ocamlfind ocamldep $(COMMONOPTS)
+MODULES = uwobo_styles uwobo_logger uwobo_engine uwobo
+OBJS = $(patsubst %,%.cmo,$(MODULES))
+OBJSOPT = $(patsubst %,%.cmx,$(MODULES))
+
+all: opt
+byte: uwobo
+opt: uwobo.opt
+world: byte opt
+
+include .depend
+depend:
+ $(OCAMLDEP) *.ml *.mli > .depend
+
+%.cmi: %.mli
+ $(OCAMLC) -c $<
+%.cmo: %.ml %.cmi
+ $(OCAMLC) -c $<
+%.cmx: %.ml %.cmi
+ $(OCAMLOPT) -c $<
+uwobo.cmo: uwobo.ml
+ $(OCAMLC) -c $<
+uwobo.cmx: uwobo.ml
+ $(OCAMLOPT) -c $<
+uwobo: $(OBJS)
+ $(OCAMLC) -linkpkg -o $@ $^
+uwobo.opt: $(OBJSOPT)
+ $(OCAMLOPT) -linkpkg -o $@ $^
+
+clean:
+ rm -f *.cm[aiox] *.o uwobo{,.opt}
+
+.PHONY: all byte opt world depend clean
+