Merge
[virt-mem.git] / Makefile.in
index 87b5a28..03a00fb 100644 (file)
@@ -24,22 +24,18 @@ MKDIR_P             = @MKDIR_P@
 datarootdir    = @datarootdir@
 mandir         = @mandir@
 
-OCAMLDOCFLAGS  = -html -sort -package bitstring,extlib,libvirt -I lib
+OCAMLDOCFLAGS  = -html -sort \
+                 -package bitstring,extlib,libvirt,gettext,xml-light \
+                 -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
+OCAMLDOCFILES  = $(wildcard lib/virt_*.mli) lib/kernel.mli
 
 HAVE_PERLDOC    = @HAVE_PERLDOC@
 
-TOOLS          = uname dmesg ps
+TOOLS          = uname dmesg ps ifconfig
 export TOOLS
 
-SUBDIRS_NOT_PO = lib $(TOOLS) mem extract/fedora-koji
+SUBDIRS_NOT_PO = lib $(TOOLS) mem extract/fedora-koji extract/codegen
 SUBDIRS                = $(SUBDIRS_NOT_PO) po
 
 ifeq ($(HAVE_PERLDOC),perldoc)
@@ -49,8 +45,10 @@ endif
 
 TARGETS                = $(MANPAGES) $(TEXTMANPAGES)
 
-all: $(TARGETS)
-       for d in $(SUBDIRS); do \
+all: byte opt
+
+byte opt: $(TARGETS)
+       for d in $(SUBDIRS_NOT_PO); do \
          $(MAKE) -C $$d $@; \
          if [ $$? -ne 0 ]; then exit 1; fi; \
        done
@@ -72,6 +70,7 @@ clean:
          (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
@@ -83,6 +82,22 @@ distclean: clean
        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),)
@@ -129,10 +144,19 @@ dist:
        $(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; \