INSTALL = @INSTALL@
-SYNTAX = -pp "camlp4o -I`ocamlc -where`/bitmatch bitmatch.cma pa_bitmatch.cmo"
+SUBDIRS = lib uname dmesg
-#OCAMLCPACKAGES = -package unix,bigarray,extlib,bitmatch
-OCAMLCPACKAGES = -package unix,bigarray,extlib -I +bitmatch
+all install:
+ for d in $(SUBDIRS) po; do \
+ $(MAKE) -C $$d $@; \
+ if [ $$? -ne 0 ]; then exit 1; fi; \
+ done
-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
-
-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 $@
-
-# Common rules for building OCaml objects.
-
-.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
# Distribution.
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