# 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@ MKDIR_P = @MKDIR_P@ datarootdir = @datarootdir@ mandir = @mandir@ OCAMLDOCFLAGS = -html -sort \ -package bitstring,extlib,libvirt,gettext,xml-light \ -I lib OCAMLDOC = @OCAMLDOC@ OCAMLDOCFILES = $(wildcard lib/virt_*.mli) lib/kernel.mli HAVE_PERLDOC = @HAVE_PERLDOC@ 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 TARGETS = $(MANPAGES) $(TEXTMANPAGES) all: byte opt byte opt: $(TARGETS) for d in $(SUBDIRS_NOT_PO); do \ $(MAKE) -C $$d $@; \ if [ $$? -ne 0 ]; then exit 1; fi; \ done install: install-man for d in $(SUBDIRS); do \ $(MAKE) -C $$d $@; \ if [ $$? -ne 0 ]; then exit 1; fi; \ done depend: for d in $(SUBDIRS_NOT_PO); do \ $(MAKE) -C $$d $@; \ if [ $$? -ne 0 ]; then exit 1; fi; \ done 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 lib/test_mmap 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 # Download distribution kernels (warning: takes AGES). update-kerneldb: cd kernels && \ ../extract/fedora-koji/fedora-koji-download-kernels.opt # Rebuild the generated kernel struct parsers from the kerneldb. update-kernel-structs: extract/codegen/compile-kerneldb.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. dist: $(MAKE) check-manifest 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 | \ 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 .PHONY: all opt depend install clean distclean configure dist check-manifest \ release release_stage_2 release_stage_3 force