# Guestfs Browser.
-# Copyright (C) 2010 Red Hat Inc.
+# Copyright (C) 2010-2011 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
$(SOURCES) \
HACKING \
Throbber.png Throbber.gif \
- .gitignore guestfs-browser.spec \
+ .gitignore \
guestfs-browser.pod \
guestfs-browser.1 \
+ guestfs-browser.desktop.in \
+ guestfs-browser.png \
+ guestfs-browser-large.png \
+ guestfs-browser.svg \
+ test-desktop-file-validate.sh \
html/pod.css
-CLEANFILES = *.cmi *.cmo *.cmx *.o guestfs-browser
+CLEANFILES = *.cmi *.cmo *.cmx *.cmxa *.o guestfs-browser *~
+
+TESTS =
# These are listed here in alphabetical order.
SOURCES = \
deviceSet.ml \
filetree.mli \
filetree.ml \
- filetree_ops.mli \
- filetree_ops.ml \
- filetree_type.mli \
- filetree_type.ml \
+ filetree_markup.mli \
+ filetree_markup.ml \
main.ml \
+ menu_open_disk.mli \
+ menu_open_disk.ml \
+ menu_open_uri.mli \
+ menu_open_uri.ml \
+ op_checksum_file.mli \
+ op_checksum_file.ml \
+ op_copy_regvalue.mli \
+ op_copy_regvalue.ml \
+ op_disk_usage.mli \
+ op_disk_usage.ml \
+ op_download_as_reg.mli \
+ op_download_as_reg.ml \
+ op_download_dir_find0.mli \
+ op_download_dir_find0.ml \
+ op_download_dir_tarball.mli \
+ op_download_dir_tarball.ml \
+ op_download_file.mli \
+ op_download_file.ml \
+ op_file_information.mli \
+ op_file_information.ml \
+ op_inspection_dialog.mli \
+ op_inspection_dialog.ml \
+ op_view_file.mli \
+ op_view_file.ml \
slave.mli \
slave.ml \
+ slave_types.mli \
+ slave_types.ml \
+ slave_utils.mli \
+ slave_utils.ml \
throbber.ml \
utils.mli \
utils.ml \
# Note this list must be in dependency order.
OBJECTS = \
- config.cmx \
- throbber.cmx \
- utils.cmx \
- cmdline.cmx \
- deviceSet.cmx \
- slave.cmx \
- filetree_type.cmx \
- filetree_ops.cmx \
- filetree.cmx \
- window.cmx \
- main.cmx
+ config.cmo \
+ throbber.cmo \
+ utils.cmo \
+ cmdline.cmo \
+ deviceSet.cmo \
+ slave_types.cmo \
+ slave_utils.cmo \
+ slave.cmo \
+ filetree_markup.cmo \
+ filetree.cmo \
+ op_checksum_file.cmo \
+ op_copy_regvalue.cmo \
+ op_disk_usage.cmo \
+ op_download_as_reg.cmo \
+ op_download_dir_find0.cmo \
+ op_download_dir_tarball.cmo \
+ op_download_file.cmo \
+ op_file_information.cmo \
+ op_inspection_dialog.cmo \
+ op_view_file.cmo \
+ menu_open_uri.cmo \
+ menu_open_disk.cmo \
+ window.cmo \
+ main.cmo
+
+XOBJECTS = $(OBJECTS:.cmo=.cmx)
bin_SCRIPTS = guestfs-browser
-OCAMLPACKAGES = libvirt,guestfs,lablgtk2,extlib,xml-light,threads
+OCAMLPACKAGES = \
+ -package libvirt,guestfs,hivex,lablgtk2,extlib,xml-light,camomile,threads,bitstring,bitstring.syntax -syntax bitstring
OCAMLCFLAGS = \
-g \
-warn-error CDEFLMPSUVYZX \
-thread \
- -package $(OCAMLPACKAGES) \
+ $(OCAMLPACKAGES) \
-predicates threads
-OCAMLOPTFLAGS = $(OCAMLCFLAGS)
+OCAMLOPTFLAGS = \
+ -ccopt -g \
+ $(OCAMLCFLAGS)
OCAMLDOCFLAGS = \
- -package $(OCAMLPACKAGES) \
+ $(OCAMLPACKAGES) \
-predicates threads \
-I +threads \
-sort -html
-guestfs-browser: $(OBJECTS)
+if HAVE_OCAMLOPT
+guestfs-browser: $(XOBJECTS)
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
-predicates init,threads \
-linkpkg gtkThread.cmx \
$^ -o $@
+else
+guestfs-browser: $(OBJECTS)
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
+ -predicates init,threads \
+ -linkpkg gtkThread.cmo \
+ $^ -o $@
+endif
# This file is built. However gdk_pixbuf_mlsource requires X11 to
# run, which prevents this from being built in places where an X
.ml.cmx:
$(OCAMLFIND) ocamlopt $(OCAMLCFLAGS) -c $< -o $@
+# Icon.
+icondir = $(datadir)/$(PACKAGE_NAME)/pixmaps
+icon_DATA = guestfs-browser.svg guestfs-browser-large.png guestfs-browser.png
+
+# Desktop file.
+desktopdir = $(datadir)/applications
+desktop_DATA = guestfs-browser.desktop
+
+guestfs-browser.desktop: guestfs-browser.desktop.in
+ $(SED) "s,\@icondir\@,$(icondir),g" < $< > $@
+
+TESTS += test-desktop-file-validate.sh
+
# Man page.
man_MANS = guestfs-browser.1
.depend: $(wildcard *.mli) $(wildcard *.ml)
rm -f $@ $@-t
- $(OCAMLFIND) ocamldep $^ | \
+ $(OCAMLFIND) ocamldep $(OCAMLPACKAGES) $^ | \
$(SED) -e :a -e '/ *\\$$/N; s/ *\\\n */ /; ta' | \
sort > $@-t
mv $@-t $@