Add Reopen option to the menu.
[guestfs-browser.git] / Makefile.am
index 7bae6e6..f77a4b7 100644 (file)
@@ -1,5 +1,5 @@
 # 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
@@ -21,12 +21,19 @@ EXTRA_DIST = \
        $(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 = \
@@ -40,13 +47,33 @@ SOURCES = \
        filetree.ml \
        filetree_markup.mli \
        filetree_markup.ml \
-       filetree_ops.mli \
-       filetree_ops.ml \
-       filetree_type.mli \
-       filetree_type.ml \
        main.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 \
@@ -55,18 +82,30 @@ SOURCES = \
 
 # 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_markup.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 \
+       window.cmo \
+       main.cmo
+
+XOBJECTS = $(OBJECTS:.cmo=.cmx)
 
 bin_SCRIPTS = guestfs-browser
 
@@ -78,18 +117,28 @@ OCAMLCFLAGS = \
        -thread \
        $(OCAMLPACKAGES) \
        -predicates threads
-OCAMLOPTFLAGS = $(OCAMLCFLAGS)
+OCAMLOPTFLAGS = \
+       -ccopt -g \
+       $(OCAMLCFLAGS)
 OCAMLDOCFLAGS = \
        $(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
@@ -108,6 +157,19 @@ throbber.ml: Throbber.png Throbber.gif
 .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