26d6fe5ca91978ca3d28cb67ba9075b5ab3ec375
[virt-top.git] / Makefile.in
1 # virt-ctrl (originally called mlvirtmanager)
2 # Copyright (C) 2007 Red Hat Inc., Richard W.M. Jones
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 INSTALL         := @INSTALL@
19
20 prefix          = @prefix@
21 exec_prefix     = @exec_prefix@
22 bindir          = @bindir@
23
24 OCAMLFIND       = @OCAMLFIND@
25
26 ifneq ($(OCAMLFIND),)
27 OCAMLCPACKAGES  := -package unix,lablgtk2 -I ../libvirt
28 OCAMLCFLAGS     := -g
29 OCAMLCLIBS      := -linkpkg
30 OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
31 OCAMLOPTFLAGS   :=
32 OCAMLOPTLIBS    := $(OCAMLCLIBS)
33 else
34 OCAMLCINCS      := -I @pkg_lablgtk2@ -I ../libvirt
35 OCAMLCFLAGS     := -g
36 OCAMLCLIBS      := unix.cma lablgtk.cma
37 OCAMLOPTINCS    := $(OCAMLCINCS)
38 OCAMLOPTFLAGS   :=
39 OCAMLOPTLIBS    := unix.cmxa lablgtk.cmxa
40 endif
41
42 export LIBRARY_PATH=../libvirt
43 export LD_LIBRARY_PATH=../libvirt
44
45 BYTE_TARGETS    := virt-ctrl
46 OPT_TARGETS     := virt-ctrl.opt
47
48 OBJS := \
49         vc_helpers.cmo \
50         vc_connections.cmo \
51         vc_domain_ops.cmo \
52         vc_mainwindow.cmo \
53         virt_ctrl.cmo
54
55 XOBJS := $(OBJS:.cmo=.cmx)
56
57 all: $(BYTE_TARGETS)
58
59 opt: $(OPT_TARGETS)
60
61 ifneq ($(OCAMLFIND),)
62 virt-ctrl: $(OBJS)
63         $(OCAMLFIND) ocamlc $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \
64           ../libvirt/mllibvirt.cma gtkInit.cmo -o $@ $^
65
66 virt-ctrl.opt: $(XOBJS)
67         $(OCAMLFIND) ocamlopt \
68           $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
69           ../libvirt/mllibvirt.cmxa gtkInit.cmx -o $@ $^
70 else
71 virt-ctrl: $(OBJS)
72         $(OCAMLC) $(OCAMLCINCS) $(OCAMLCFLAGS) $(OCAMLCLIBS) \
73           ../libvirt/mllibvirt.cma gtkInit.cmo -o $@ $^
74
75 host_os         = @host_os@
76
77 ifneq ($(host_os),mingw32)
78 virt-ctrl.opt: $(XOBJS)
79         $(OCAMLOPT) $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
80           $(patsubst %,-cclib %,$(LDFLAGS)) \
81           ../libvirt/mllibvirt.cmxa gtkInit.cmx -o $@ $^
82 else
83 # On MinGW, use a hacked 'gcc' wrapper which understands the @...
84 # syntax for extending the command line.
85 gcc.exe: mingw-gcc-wrapper.ml
86         $(OCAMLC) unix.cma $< -o $@
87
88 virt-ctrl.opt: $(XOBJS) gcc.exe
89         PATH=.:$$PATH \
90         $(OCAMLOPT) $(OCAMLOPTINCS) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
91           $(patsubst %,-cclib %,$(LDFLAGS)) \
92           ../libvirt/mllibvirt.cmxa gtkInit.cmx -o $@ $(XOBJS)
93 endif
94 endif
95
96 install:
97         if [ -x virt-ctrl.opt ]; then \
98           mkdir -p $(DESTDIR)$(bindir); \
99           $(INSTALL) -m 0755 virt-ctrl.opt $(DESTDIR)$(bindir)/virt-ctrl; \
100         fi
101
102 include ../Make.rules