Outline manual pages (copied from virt-df).
[virt-mem.git] / Makefile.in
index df5123b..192b027 100644 (file)
@@ -21,57 +21,58 @@ VERSION             = @PACKAGE_VERSION@
 
 INSTALL                = @INSTALL@
 
-SYNTAX         = -pp "camlp4o -I`ocamlc -where`/bitmatch bitmatch.cma pa_bitmatch.cmo"
+HAVE_PERLDOC    = @HAVE_PERLDOC@
 
-#OCAMLCPACKAGES        = -package unix,bigarray,extlib,bitmatch
-OCAMLCPACKAGES = -package unix,bigarray,extlib -I +bitmatch
+TOOLS          = uname dmesg
 
-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
+SUBDIRS                = lib $(TOOLS)
 
-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 $@
+ifeq ($(HAVE_PERLDOC),perldoc)
+TARGETS         += virt-mem.1 virt-mem.txt $(TOOLS:%=virt-%.1)
+endif
 
-# Common rules for building OCaml objects.
+all install: $(TARGETS)
+       for d in $(SUBDIRS) po; do \
+         $(MAKE) -C $$d $@; \
+         if [ $$? -ne 0 ]; then exit 1; fi; \
+       done
 
-.mli.cmi:
-       ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
-.ml.cmo:
-       ocamlfind ocamlc $(OCAMLCFLAGS) $(OCAMLCPACKAGES) -c $<
-.ml.cmx:
-       ocamlfind ocamlopt $(OCAMLOPTFLAGS) $(OCAMLOPTPACKAGES) -c $<
+depend doc:
+       for d in $(SUBDIRS); do \
+         $(MAKE) -C $$d $@; \
+         if [ $$? -ne 0 ]; then exit 1; fi; \
+       done
 
 clean:
-       rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a \
-           *.so *.opt *~ *.dll *.exe *.annot core
+       for d in . $(SUBDIRS); do \
+         (cd $$d; rm -f *.cmi *.cmo *.cmx *.cma *.cmxa *.o *.a \
+           *.so *.opt *~ *.dll *.exe *.annot core); \
+       done
+       for d in po; do \
+         (cd $$d; rm -f *~); \
+       done
+       rm -f uname/virt-uname
+       rm -f dmesg/virt-dmesg
+
+distclean: clean
+       rm -f config.h config.log config.status configure
+       rm -rf autom4te.cache
+       rm -f Makefile
+       rm -f virt-df/Makefile
+
+# 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' > $@
+endif
 
 # Distribution.
 
@@ -86,44 +87,11 @@ dist:
        ls -l $(PACKAGE)-$(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 | 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