X-Git-Url: http://git.annexia.org/?p=virt-mem.git;a=blobdiff_plain;f=Makefile.in;h=fa1ad9da3be319fe8b87a34ed48417403c45ac2c;hp=dd8374ceb15a4fe382a405c92730c93b885e5e12;hb=2e1de51e35bea53ebece1a6fd6d6970534f4cbe9;hpb=c9b45fe3ac84280487a580d67b67dcf452a4c2c3 diff --git a/Makefile.in b/Makefile.in index dd8374c..fa1ad9d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -20,58 +20,115 @@ PACKAGE = @PACKAGE_NAME@ VERSION = @PACKAGE_VERSION@ INSTALL = @INSTALL@ +MKDIR_P = @MKDIR_P@ +datarootdir = @datarootdir@ +mandir = @mandir@ -SYNTAX = -pp "camlp4o -I`ocamlc -where`/bitmatch bitmatch.cma pa_bitmatch.cmo" +OCAMLDOCFLAGS = -html -sort \ + -package bitstring.syntax,extlib,libvirt,gettext,xml-light \ + -I lib \ + -syntax bitstring.syntax +OCAMLDOC = @OCAMLDOC@ +OCAMLDOCFILES = $(wildcard lib/*.ml) $(wildcard lib/*.mli) -#OCAMLCPACKAGES = -package unix,bigarray,extlib,bitmatch -OCAMLCPACKAGES = -package unix,bigarray,extlib -I +bitmatch +HAVE_PERLDOC = @HAVE_PERLDOC@ -ifneq ($(pkg_gettext),no) -OCAMLCPACKAGES += -package gettext-stub +TOOLS = uname dmesg ps ifconfig +export TOOLS + +SUBDIRS_NOT_PO = lib $(TOOLS) mem extract/fedora-koji extract/codegen +SUBDIRS = $(SUBDIRS_NOT_PO) po + +ifeq ($(HAVE_PERLDOC),perldoc) +MANPAGES = virt-mem.1 $(TOOLS:%=virt-%.1) +TEXTMANPAGES = virt-mem.txt endif -OCAMLCFLAGS = @OCAMLCFLAGS@ $(SYNTAX) -OCAMLCLIBS = -linkpkg bitmatch.cma +TARGETS = $(MANPAGES) $(TEXTMANPAGES) -OCAMLOPTFLAGS = @OCAMLOPTFLAGS@ $(SYNTAX) -OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) -OCAMLOPTLIBS = -linkpkg bitmatch.cmxa +all: $(TARGETS) + for d in $(SUBDIRS_NOT_PO); do \ + $(MAKE) -C $$d $@; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done -OCAMLDOCFLAGS = -html -stars -sort $(OCAMLCPACKAGES) $(SYNTAX) +install: install-man + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done -TARGETS = virt-mem virt-mem.opt +depend: + for d in $(SUBDIRS_NOT_PO); do \ + $(MAKE) -C $$d $@; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done -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 +clean: + for d in . $(SUBDIRS); do \ + (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a \ + *.so *.opt *~ *.dll *.exe *.annot core); \ + done + rm -f uname/virt-uname + rm -f dmesg/virt-dmesg + rm -f ps/virt-ps + rm -f mem/virt-mem -all: $(TARGETS) +distclean: clean + rm -f config.h config.log config.status configure + rm -rf autom4te.cache + rm -f Makefile + rm -f */Makefile -virt-mem: $(OBJS) - ocamlfind ocamlc \ - $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $(OCAMLCLIBS) $^ -o $@ +# Rebuild the PO files. -virt-mem.opt: $(XOBJS) - ocamlfind ocamlopt \ - $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) $^ -o $@ +update-po: + $(MAKE) -C po all -# Common rules for building OCaml objects. +# Download distribution kernels (warning: takes AGES). -.mli.cmi: - ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< -.ml.cmo: - ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< -.ml.cmx: - ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $< +update-kerneldb: + cd kernels && \ + ../extract/fedora-koji/fedora-koji-download-kernels.opt -clean: - rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a \ - *.so *.opt *~ *.dll *.exe *.annot core +# Rebuild the generated kernel struct parsers from the kerneldb. + +update-kernel-structs: + extract/codegen/kerneldb-to-parser.opt kernels lib + +# Developer documentation (in html/ subdirectory). + +ifneq ($(OCAMLDOC),) +ifneq ($(OCAMLDOCFILES),) +doc: + rm -rf html + mkdir html + -ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d html $(OCAMLDOCFILES) +endif +endif + +# Manual page. + +ifeq ($(HAVE_PERLDOC),perldoc) +virt-mem.1: virt-mem.pod + pod2man -c "Virtualization Support" --release "$(PACKAGE)-$(VERSION)" \ + $< > $@ + +virt-mem.txt: virt-mem.pod + pod2text $< > $@ + +virt-%.1: + echo '.so man1/virt-mem.1' > $@ + +install-man: + $(MKDIR_P) $(DESTDIR)$(mandir)/man1 + $(INSTALL) -m 0644 $(MANPAGES) $(DESTDIR)$(mandir)/man1/ + +else + +install-man: + +endif # Distribution. @@ -80,38 +137,28 @@ dist: rm -rf $(PACKAGE)-$(VERSION) mkdir $(PACKAGE)-$(VERSION) tar -cf - -T MANIFEST | tar -C $(PACKAGE)-$(VERSION) -xf - + hg log --style changelog > $(PACKAGE)-$(VERSION)/ChangeLog $(INSTALL) -m 0755 configure $(PACKAGE)-$(VERSION)/ + $(INSTALL) -m 0644 config.h.in $(PACKAGE)-$(VERSION)/ tar zcf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) rm -rf $(PACKAGE)-$(VERSION) + mkdir $(PACKAGE)-$(VERSION) + mkdir $(PACKAGE)-$(VERSION)/kernels + $(INSTALL) -m 0644 kernels/*.data* kernels/*.info \ + $(PACKAGE)-$(VERSION)/kernels/ + tar zcf $(PACKAGE)-kerneldb-$(VERSION).tar.gz $(PACKAGE)-$(VERSION) + rm -rf $(PACKAGE)-$(VERSION) ls -l $(PACKAGE)-$(VERSION).tar.gz + ls -l $(PACKAGE)-kerneldb-$(VERSION).tar.gz check-manifest: - hg manifest | sort > .check-manifest; \ + hg manifest | \ + grep -Ev 'kernels/.*\.(data|info).*' | \ + 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 + release release_stage_2 release_stage_3 force \ No newline at end of file