# virt-mem # @configure_input@ # Copyright (C) 2008 Red Hat Inc., Richard W.M. Jones # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2 of the License, or (at your option) any later version. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA PACKAGE = @PACKAGE_NAME@ VERSION = @PACKAGE_VERSION@ INSTALL = @INSTALL@ SYNTAX = -pp "camlp4o -I`ocamlc -where`/bitmatch bitmatch.cma pa_bitmatch.cmo" #OCAMLCPACKAGES = -package unix,bigarray,extlib,bitmatch OCAMLCPACKAGES = -package unix,bigarray,extlib -I +bitmatch ifneq ($(pkg_gettext),no) OCAMLCPACKAGES += -package gettext-stub endif OCAMLCFLAGS = @OCAMLCFLAGS@ $(SYNTAX) OCAMLCLIBS = -linkpkg bitmatch.cma OCAMLOPTFLAGS = @OCAMLOPTFLAGS@ $(SYNTAX) OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) OCAMLOPTLIBS = -linkpkg bitmatch.cmxa OCAMLDOCFLAGS = -html -stars -sort $(OCAMLCPACKAGES) $(SYNTAX) TARGETS = virt-mem virt-mem.opt OBJS = virt_mem_gettext.cmo \ virt_mem_utils.cmo \ virt_mem_mmap.cmo \ virt_mem.cmo XOBJS = virt_mem_gettext.cmx \ virt_mem_utils.cmx \ virt_mem_mmap.cmx \ virt_mem.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. 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 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 .PHONY: all opt depend install clean distclean configure dist check-manifest \ release release_stage_2 release_stage_3 force .SUFFIXES: .cmo .cmi .cmx .ml .mli