INSTALL = @INSTALL@
-SYNTAX = -pp "camlp4o -I`ocamlc -where`/bitmatch bitmatch.cma pa_bitmatch.cmo"
+OCAMLLIB = @OCAMLLIB@
-#OCAMLCPACKAGES = -package unix,bigarray,extlib,bitmatch
-OCAMLCPACKAGES = -package unix,bigarray,extlib -I +bitmatch
+pkg_gettext = @pkg_gettext@
+
+CC = @CC@
+CFLAGS = @CFLAGS@ -Wall -Werror -I$(OCAMLLIB) -I@top_srcdir@
+
+SYNTAX = -syntax bitstring.syntax
+
+OCAMLCPACKAGES = -package unix,bigarray,extlib,libvirt,xml-light,bitstring.syntax
ifneq ($(pkg_gettext),no)
OCAMLCPACKAGES += -package gettext-stub
endif
OCAMLCFLAGS = @OCAMLCFLAGS@ $(SYNTAX)
-OCAMLCLIBS = -linkpkg bitmatch.cma
+OCAMLCLIBS = -linkpkg
OCAMLOPTFLAGS = @OCAMLOPTFLAGS@ $(SYNTAX)
OCAMLOPTPACKAGES = $(OCAMLCPACKAGES)
-OCAMLOPTLIBS = -linkpkg bitmatch.cmxa
+OCAMLOPTLIBS = -linkpkg
-OCAMLDOCFLAGS = -html -stars -sort $(OCAMLCPACKAGES) $(SYNTAX)
+OCAMLDEPFLAGS = $(SYNTAX)
-TARGETS = virt-mem virt-mem.opt
+TARGETS = virt_mem.cma virt_mem.cmxa
OBJS = virt_mem_gettext.cmo \
+ virt_mem_version.cmo \
virt_mem_utils.cmo \
+ virt_mem_mmap_c.o \
virt_mem_mmap.cmo \
- virt_mem.cmo
-XOBJS = virt_mem_gettext.cmx \
- virt_mem_utils.cmx \
- virt_mem_mmap.cmx \
- virt_mem.cmx
+ virt_mem_types.cmo \
+ virt_mem_ksyms.cmo \
+ virt_mem_kallsyms.cmo \
+ virt_mem_utsname.cmo \
+ virt_mem.cmo \
+ virt_mem_capture.cmo
+XOBJS = $(OBJS:%.cmo=%.cmx)
all: $(TARGETS)
-virt-mem: $(OBJS)
- ocamlfind ocamlc \
- $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $(OCAMLCLIBS) $^ -o $@
-
-virt-mem.opt: $(XOBJS)
- ocamlfind ocamlopt \
- $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) $^ -o $@
-
-# Common rules for building OCaml objects.
-
-.mli.cmi:
- ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
-.ml.cmo:
- ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
-.ml.cmx:
- ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $<
-
-clean:
- rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a \
- *.so *.opt *~ *.dll *.exe *.annot core
-
-# Distribution.
+virt_mem.cma: $(OBJS)
+ ocamlmklib -o virt_mem $^
-dist:
- $(MAKE) check-manifest
- rm -rf $(PACKAGE)-$(VERSION)
- mkdir $(PACKAGE)-$(VERSION)
- tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf -
- $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/
- tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
- rm -rf $(PACKAGE)-$(VERSION)
- ls -l $(PACKAGE)-$(VERSION).tar.gz
+virt_mem.cmxa: $(XOBJS)
+ ocamlmklib -o virt_mem $^
-check-manifest:
- hg manifest | sort > .check-manifest; \
- sort MANIFEST > .orig-manifest; \
- diff -u .orig-manifest .check-manifest; rv=$$?; \
- rm -f .orig-manifest .check-manifest; \
- exit $$rv
-
-# Developer documentation (in html/ subdirectory).
-
-doc:
- rm -rf html
- mkdir html
- -ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d html *.{ml,mli}
-
-# Dependencies.
-
-depend: .depend
-
-.depend: $(wildcard *.mli) $(wildcard *.ml)
- rm -f .depend
- ocamldep $(SYNTAX) $^ > $@
-
-ifeq ($(wildcard .depend),.depend)
-include .depend
-endif
+# Just for testing Virt_mem_mmap module:
+test_mmap: virt_mem_utils.cmx virt_mem_mmap_c.o virt_mem_mmap.cmx test_mmap.cmx
+ ocamlfind ocamlopt \
+ $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) \
+ bitstring.cmxa -o $@ $^
-.PHONY: all opt depend install clean distclean configure dist check-manifest \
- release release_stage_2 release_stage_3 force
+install:
-.SUFFIXES: .cmo .cmi .cmx .ml .mli
+include ../Make.rules
\ No newline at end of file