exec_prefix = @exec_prefix@
bindir = @bindir@
+with_icons = @with_icons@
+icons = @icons@
+
+HAVE_GDK_PIXBUF_MLSOURCE = @HAVE_GDK_PIXBUF_MLSOURCE@
+
+pkg_dbus = @pkg_dbus@
+pkg_gettext = @pkg_gettext@
+
OCAMLFIND = @OCAMLFIND@
+OBJS := \
+ virt_ctrl_gettext.cmo \
+ vc_helpers.cmo \
+ vc_connections.cmo \
+ vc_domain_ops.cmo \
+ vc_connection_dlg.cmo \
+ vc_mainwindow.cmo
+
ifneq ($(OCAMLFIND),)
-OCAMLCPACKAGES := -package unix,lablgtk2 -I ../libvirt
+# Good, we have ocamlfind.
+OCAMLCPACKAGES := -I ../libvirt -package unix,lablgtk2
+ifeq ($(pkg_dbus),yes)
+OCAMLCPACKAGES += -package dbus
+OBJS += vc_dbus.cmo
+endif
+ifeq ($(pkg_gettext),yes)
+OCAMLCPACKAGES += -package gettext-stub
+endif
OCAMLCFLAGS := -g
OCAMLCLIBS := -linkpkg
OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
OCAMLOPTFLAGS :=
OCAMLOPTLIBS := $(OCAMLCLIBS)
else
-OCAMLCINCS := -I @pkg_lablgtk2@ -I ../libvirt
+# Bad boy, please install ocamlfind.
+OCAMLCINCS := -I ../libvirt -I @pkg_lablgtk2@
OCAMLCFLAGS := -g
OCAMLCLIBS := unix.cma lablgtk.cma
OCAMLOPTINCS := $(OCAMLCINCS)
OCAMLOPTLIBS := unix.cmxa lablgtk.cmxa
endif
+ifneq ($(with_icons),no)
+OBJS += vc_icons.cmo
+endif
+
export LIBRARY_PATH=../libvirt
export LD_LIBRARY_PATH=../libvirt
BYTE_TARGETS := virt-ctrl
OPT_TARGETS := virt-ctrl.opt
-OBJS := \
- vc_helpers.cmo \
- vc_connections.cmo \
- vc_domain_ops.cmo \
- vc_mainwindow.cmo \
- virt_ctrl.cmo
+OBJS += virt_ctrl.cmo
XOBJS := $(OBJS:.cmo=.cmx)
$(OCAMLC) $(OCAMLCINCS) $(OCAMLCFLAGS) $(OCAMLCLIBS) \
../libvirt/mllibvirt.cma gtkInit.cmo -o $@ $^
+host_os = @host_os@
+
+ifneq ($(host_os),mingw32)
virt-ctrl.opt: $(XOBJS)
- $(OCAMLOPT) -verbose $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
- -cclib "$(LDFLAGS)" \
+ $(OCAMLOPT) $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
+ $(patsubst %,-cclib %,$(LDFLAGS)) \
../libvirt/mllibvirt.cmxa gtkInit.cmx -o $@ $^
+else
+# On MinGW, use a hacked 'gcc' wrapper which understands the @...
+# syntax for extending the command line.
+gcc.exe: mingw-gcc-wrapper.ml
+ $(OCAMLC) unix.cma $< -o $@
+
+virt-ctrl.opt: $(XOBJS) gcc.exe
+ PATH=.:$$PATH \
+ $(OCAMLOPT) $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
+ $(patsubst %,-cclib %,$(LDFLAGS)) \
+ ../libvirt/mllibvirt.cmxa gtkInit.cmx -o $@ $(XOBJS)
+endif
+endif
+
+# Rebuild the icons if newer ones available.
+ifneq ($(with_icons),no)
+ifneq ($(icons),)
+ifeq ($(HAVE_GDK_PIXBUF_MLSOURCE),gdk-pixbuf-mlsource)
+vc_icons.ml: rebuild-icons.sh
+ ./rebuild-icons.sh $(icons) > $@
+endif
+endif
endif
install: