X-Git-Url: http://git.annexia.org/?p=virt-mem.git;a=blobdiff_plain;f=Makefile.in;h=35582d1e5ec4fecb74cc43523dec48f19c76956e;hp=df5123b0758fd8b7b80dacb988d9d926c0fe7aa1;hb=4b4113cb4542d2b9f7bec30e4dda8588538ab9f6;hpb=40940dbca159a90c43b46297011246256c5da30e diff --git a/Makefile.in b/Makefile.in index df5123b..35582d1 100644 --- a/Makefile.in +++ b/Makefile.in @@ -20,58 +20,107 @@ PACKAGE = @PACKAGE_NAME@ VERSION = @PACKAGE_VERSION@ INSTALL = @INSTALL@ +MKDIR_P = @MKDIR_P@ +datarootdir = @datarootdir@ +mandir = @mandir@ + +OCAMLDOCFLAGS = -html -sort -package bitstring,extlib,libvirt -I lib +OCAMLDOC = @OCAMLDOC@ +OCAMLDOCFILES = lib/virt_mem_utils.ml \ + lib/virt_mem_mmap.mli \ + lib/virt_mem_types.mli \ + lib/virt_mem_ksyms.mli \ + lib/virt_mem_kallsyms.mli \ + lib/virt_mem_utsname.mli \ + lib/virt_mem.mli + +HAVE_PERLDOC = @HAVE_PERLDOC@ + +TOOLS = uname dmesg ps +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 -SYNTAX = -pp "camlp4o -I`ocamlc -where`/bitmatch bitmatch.cma pa_bitmatch.cmo" +TARGETS = $(MANPAGES) $(TEXTMANPAGES) -#OCAMLCPACKAGES = -package unix,bigarray,extlib,bitmatch -OCAMLCPACKAGES = -package unix,bigarray,extlib -I +bitmatch +all: $(TARGETS) + for d in $(SUBDIRS_NOT_PO); do \ + $(MAKE) -C $$d $@; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done -ifneq ($(pkg_gettext),no) -OCAMLCPACKAGES += -package gettext-stub -endif +install: install-man + for d in $(SUBDIRS); do \ + $(MAKE) -C $$d $@; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done -OCAMLCFLAGS = @OCAMLCFLAGS@ $(SYNTAX) -OCAMLCLIBS = -linkpkg bitmatch.cma +depend: + for d in $(SUBDIRS_NOT_PO); do \ + $(MAKE) -C $$d $@; \ + if [ $$? -ne 0 ]; then exit 1; fi; \ + done -OCAMLOPTFLAGS = @OCAMLOPTFLAGS@ $(SYNTAX) -OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) -OCAMLOPTLIBS = -linkpkg bitmatch.cmxa +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 + +distclean: clean + rm -f config.h config.log config.status configure + rm -rf autom4te.cache + rm -f Makefile + rm -f */Makefile + +# Rebuild the PO files. + +update-po: + $(MAKE) -C po all -OCAMLDOCFLAGS = -html -stars -sort $(OCAMLCPACKAGES) $(SYNTAX) +# Developer documentation (in html/ subdirectory). + +ifneq ($(OCAMLDOC),) +ifneq ($(OCAMLDOCFILES),) +doc: + rm -rf html + mkdir html + -ocamlfind ocamldoc $(OCAMLDOCFLAGS) -d html $(OCAMLDOCFILES) +endif +endif -TARGETS = virt-mem virt-mem.opt +# Manual page. -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 +ifeq ($(HAVE_PERLDOC),perldoc) +virt-mem.1: virt-mem.pod + pod2man -c "Virtualization Support" --release "$(PACKAGE)-$(VERSION)" \ + $< > $@ -all: $(TARGETS) +virt-mem.txt: virt-mem.pod + pod2text $< > $@ -virt-mem: $(OBJS) - ocamlfind ocamlc \ - $(OCAMLCFLAGS) $(OCAMLCPACKAGES) $(OCAMLCLIBS) $^ -o $@ +virt-%.1: + echo '.so man1/virt-mem.1' > $@ -virt-mem.opt: $(XOBJS) - ocamlfind ocamlopt \ - $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) $(OCAMLOPTLIBS) $^ -o $@ +install-man: + $(MKDIR_P) $(DESTDIR)$(mandir)/man1 + $(INSTALL) -m 0644 $(MANPAGES) $(DESTDIR)$(mandir)/man1/ -# Common rules for building OCaml objects. +else -.mli.cmi: - ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< -.ml.cmo: - ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $< -.ml.cmx: - ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $< +install-man: -clean: - rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a \ - *.so *.opt *~ *.dll *.exe *.annot core +endif # Distribution. @@ -80,50 +129,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: - @for d in `find -type d -name CVS | grep -v '^\./debian/'`; \ - do \ - b=`dirname $$d`/; \ - awk -F/ '$$1 != "D" {print $$2}' $$d/Entries | \ - sed -e "s|^|$$b|" -e "s|^\./||"; \ - done | 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 -#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 + release release_stage_2 release_stage_3 force \ No newline at end of file