EXTRA_DIST = HACKING Throbber.png Throbber.gif
-CLEANFILES = *.cmi *.cmo *.cmx *.o guestfs-browser throbber.ml
+CLEANFILES = *.cmi *.cmo *.cmx *.o guestfs-browser
SOURCES = \
+ cmdline.mli \
+ cmdline.ml \
+ config.mli \
+ config.ml \
+ filetree.mli \
+ filetree.ml \
main.ml \
slave.mli \
slave.ml \
throbber.ml \
utils.mli \
- utils.ml
+ utils.ml \
+ window.mli \
+ window.ml
OBJECTS = \
- main.cmx \
- slave.cmx \
throbber.cmx \
- utils.cmx
+ config.cmx \
+ utils.cmx \
+ slave.cmx \
+ filetree.cmx \
+ cmdline.cmx \
+ window.cmx \
+ main.cmx
bin_SCRIPTS = guestfs-browser
-OCAMLOPTFLAGS = \
+OCAMLPACKAGES = libvirt,guestfs,lablgtk2,extlib,xml-light,threads
+OCAMLCFLAGS = \
+ -g \
-warn-error A \
-thread \
- -package libvirt,guestfs,lablgtk2,extlib,xml-light,threads
+ -package $(OCAMLPACKAGES) \
+ -predicates threads
+OCAMLOPTFLAGS = $(OCAMLCFLAGS)
+OCAMLDOCFLAGS = \
+ -package $(OCAMLPACKAGES) \
+ -predicates threads \
+ -I +threads \
+ -sort -html
guestfs-browser: $(OBJECTS)
- ocamlfind ocamlopt $(OCAMLOPTFLAGS) \
+ $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
-predicates init,threads \
-linkpkg gtkThread.cmx \
$^ -o $@
+# This file is built. However gdk_pixbuf_mlsource requires X11 to
+# run, which prevents this from being built in places where an X
+# display is not available, such as on automated builders. So we'll
+# bundle this file in with the tarball anyway.
throbber.ml: Throbber.png Throbber.gif
- gdk_pixbuf_mlsource --build-list \
+ $(GDK_PIXBUF_MLSOURCE) --build-list \
static Throbber.png \
animation Throbber.gif \
> $@-t && mv $@-t $@
+
+.mli.cmi:
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
+.ml.cmo:
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
+.ml.cmx:
+ $(OCAMLFIND) ocamlopt $(OCAMLCFLAGS) -c $< -o $@
+
+# Convert internal documentation to HTML.
+docs:
+ rm -rf doc
+ mkdir -p doc
+ $(OCAMLFIND) ocamldoc -d doc $(OCAMLDOCFLAGS) $(SOURCES)
+
+# Dependencies.
+depend: .depend
+
+.depend: $(wildcard *.mli) $(wildcard *.ml)
+ rm -f $@ $@-t
+ $(OCAMLFIND) ocamldep $^ > $@-t
+ mv $@-t $@
+
+include .depend
+
+.PHONY: depend docs