-# virt-df
-# Copyright (C) 2007 Red Hat Inc., Richard W.M. Jones
+# Diskimage library.
+# @configure_input@
+# Copyright (C) 2008 Red Hat Inc., Richard W.M. Jones
#
# 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
INSTALL := @INSTALL@
HAVE_PERLDOC := @HAVE_PERLDOC@
+OCAML_WORD_SIZE := @OCAML_WORD_SIZE@
+
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
-#OCAMLCPACKAGES := -package unix,extlib,bitmatch
-OCAMLCPACKAGES := -package unix,extlib -I +bitmatch
+OCAMLCPACKAGES := -package unix,extlib,bitmatch.syntax
#----------------------------------------------------------------------
# Build up the list of object files.
-OBJS := diskimage_utils.cmo
+OBJS := int63.cmo \
+ diskimage_impl.cmo
# Plugin objects.
OBJS += diskimage_ext2.cmo \
diskimage_linux_swap.cmo \
+ diskimage_linux_swsuspend.cmo \
+ diskimage_fat.cmo \
+ diskimage_ntfs.cmo \
diskimage_lvm2_metadata.cmo \
diskimage_lvm2_parser.cmo \
diskimage_lvm2_lexer.cmo \
#----------------------------------------------------------------------
-SYNTAX := -pp "camlp4o -I`ocamlc -where`/bitmatch pa_bitmatch.cmo"
+SYNTAX := -syntax bitmatch.syntax
-OCAMLCFLAGS := -g -w s $(SYNTAX)
-#OCAMLCLIBS := -linkpkg
-OCAMLCLIBS := -linkpkg bitmatch.cma
+OCAMLCFLAGS := @OCAMLCFLAGS@ $(SYNTAX)
+OCAMLCLIBS := -linkpkg
OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
-OCAMLOPTFLAGS := -w s $(SYNTAX)
-#OCAMLOPTLIBS := $(OCAMLCLIBS)
-OCAMLOPTLIBS := -linkpkg bitmatch.cmxa
+OCAMLOPTFLAGS := @OCAMLOPTFLAGS@ $(SYNTAX)
+OCAMLOPTLIBS := $(OCAMLCLIBS)
OCAMLDEPFLAGS := $(SYNTAX)
+OCAMLDOCFLAGS += $(SYNTAX) -I +extlib -I +bitmatch
+OCAMLDOCFILES := int63.mli diskimage.mli
+
BYTE_TARGETS := diskimage.cma
OPT_TARGETS := diskimage.cmxa
diskimage.cmxa: $(XOBJS)
ocamlfind ocamlopt \
- $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
+ $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) \
-a -o $@ $^
# 'make depend' doesn't catch these dependencies because the .mli file
diskimage_lvm2_parser.cmx: diskimage_lvm2_parser.cmi
diskimage_lvm2_parser.cmi: diskimage_lvm2_parser.mli
+diskimage_lvm2_lexer.cmo: diskimage_impl.cmi
+diskimage_lvm2_parser.cmo: diskimage_impl.cmi
+diskimage_lvm2_lexer.cmx: diskimage_impl.cmi
+diskimage_lvm2_parser.cmx: diskimage_impl.cmi
+
+# Int63 module is defined differently on 32 and 64 bit platforms.
+int63.ml: int63_on_$(OCAML_WORD_SIZE).ml Makefile
+ rm -f $@
+ echo "(* WARNING: THIS FILE IS GENERATED FROM $< *)" | \
+ cat - $< > $@
+
+int63.mli: int63_on_$(OCAML_WORD_SIZE).mli Makefile
+ rm -f $@
+ echo "(* WARNING: THIS FILE IS GENERATED FROM $< *)" | \
+ cat - $< > $@
+
+int63.cmo: int63.cmi
+int63.cmx: int63.cmi
+int63.cmi: int63.ml int63.mli
+
+#test_int63.opt: int63.cmx test_int63.cmx
+# $(OCAMLFIND) ocamlopt $^ -o $@
+
install:
- ocamlfind install diskimage *.mli *.cma *.cmx *.cmxa *.a
+ ocamlfind install diskimage META *.mli *.cma *.cmx *.cmxa *.a
include ../Make.rules