--- /dev/null
+diff -ur ocaml-3.04--/Makefile ocaml-3.04/Makefile
+--- ocaml-3.04--/Makefile Tue Dec 11 09:32:41 2001
++++ ocaml-3.04/Makefile Sat Feb 2 01:48:21 2002
+@@ -220,23 +220,23 @@
+
+ # Installation
+ install: FORCE
+- if test -d $(BINDIR); then : ; else $(MKDIR) $(BINDIR); fi
+- if test -d $(LIBDIR); then : ; else $(MKDIR) $(LIBDIR); fi
+- if test -d $(LIBDIR)/shlibs; then : ; else $(MKDIR) $(LIBDIR)/shlibs; fi
+- if test -d $(MANDIR); then : ; else $(MKDIR) $(MANDIR); fi
+- rm -f $(LIBDIR)/lib*.so
++ if test -d $(DESTDIR)$(BINDIR); then : ; else $(MKDIR) $(DESTDIR)$(BINDIR); fi
++ if test -d $(DESTDIR)$(LIBDIR); then : ; else $(MKDIR) $(DESTDIR)$(LIBDIR); fi
++ if test -d $(DESTDIR)$(LIBDIR)/shlibs; then : ; else $(MKDIR) $(DESTDIR)$(LIBDIR)/shlibs; fi
++ if test -d $(DESTDIR)$(MANDIR); then : ; else $(MKDIR) $(DESTDIR)$(MANDIR); fi
++ rm -f $(DESTDIR)$(LIBDIR)/lib*.so
+ cd byterun; $(MAKE) install
+- if test -r $(LIBDIR)/ld.conf; then :; else echo "$(LIBDIR)" > $(LIBDIR)/ld.conf; fi
+- cp ocamlc $(BINDIR)/ocamlc$(EXE)
+- cp ocaml $(BINDIR)/ocaml$(EXE)
++ if test -r $(DESTDIR)$(LIBDIR)/ld.conf; then :; else echo "$(LIBDIR)" > $(DESTDIR)$(LIBDIR)/ld.conf; fi
++ cp ocamlc $(DESTDIR)$(BINDIR)/ocamlc$(EXE)
++ cp ocaml $(DESTDIR)$(BINDIR)/ocaml$(EXE)
+ cd stdlib; $(MAKE) install
+- cp lex/ocamllex $(BINDIR)/ocamllex$(EXE)
+- cp yacc/ocamlyacc$(EXE) $(BINDIR)/ocamlyacc$(EXE)
+- cp toplevel/toplevellib.cma $(LIBDIR)/toplevellib.cma
+- cp expunge $(LIBDIR)/expunge$(EXE)
+- cp typing/outcometree.cmi typing/outcometree.mli $(LIBDIR)
+- cp toplevel/topmain.cmo $(LIBDIR)
+- cp toplevel/toploop.cmi toplevel/topdirs.cmi $(LIBDIR)
++ cp lex/ocamllex $(DESTDIR)$(BINDIR)/ocamllex$(EXE)
++ cp yacc/ocamlyacc$(EXE) $(DESTDIR)$(BINDIR)/ocamlyacc$(EXE)
++ cp toplevel/toplevellib.cma $(DESTDIR)$(LIBDIR)/toplevellib.cma
++ cp expunge $(DESTDIR)$(LIBDIR)/expunge$(EXE)
++ cp typing/outcometree.cmi typing/outcometree.mli $(DESTDIR)$(LIBDIR)
++ cp toplevel/topmain.cmo $(DESTDIR)$(LIBDIR)
++ cp toplevel/toploop.cmi toplevel/topdirs.cmi $(DESTDIR)$(LIBDIR)
+ cd tools; $(MAKE) install
+ -cd man; $(MAKE) install
+ for i in $(OTHERLIBRARIES); do \
+@@ -249,12 +249,12 @@
+ # Installation of the native-code compiler
+ installopt:
+ cd asmrun; $(MAKE) install
+- cp ocamlopt $(BINDIR)/ocamlopt$(EXE)
++ cp ocamlopt $(DESTDIR)$(BINDIR)/ocamlopt$(EXE)
+ cd stdlib; $(MAKE) installopt
+ for i in $(OTHERLIBRARIES); do (cd otherlibs/$$i; $(MAKE) installopt) || exit $$?; done
+- if test -f ocamlc.opt; then cp ocamlc.opt $(BINDIR)/ocamlc.opt$(EXE); else :; fi
+- if test -f ocamlopt.opt; then cp ocamlopt.opt $(BINDIR)/ocamlopt.opt$(EXE); else :; fi
+- if test -f lex/ocamllex.opt; then cp lex/ocamllex.opt $(BINDIR)/ocamllex.opt$(EXE); else :; fi
++ if test -f ocamlc.opt; then cp ocamlc.opt $(DESTDIR)$(BINDIR)/ocamlc.opt$(EXE); else :; fi
++ if test -f ocamlopt.opt; then cp ocamlopt.opt $(DESTDIR)$(BINDIR)/ocamlopt.opt$(EXE); else :; fi
++ if test -f lex/ocamllex.opt; then cp lex/ocamllex.opt $(DESTDIR)$(BINDIR)/ocamllex.opt$(EXE); else :; fi
+
+ clean:: partialclean
+
+diff -ur ocaml-3.04--/asmrun/Makefile ocaml-3.04/asmrun/Makefile
+--- ocaml-3.04--/asmrun/Makefile Fri Dec 7 14:39:18 2001
++++ ocaml-3.04/asmrun/Makefile Sat Feb 2 01:48:21 2002
+@@ -57,15 +57,15 @@
+ install: install-default install-$(PROFILING)
+
+ install-default:
+- cp libasmrun.a $(LIBDIR)/libasmrun.a
+- cd $(LIBDIR); $(RANLIB) libasmrun.a
++ cp libasmrun.a $(DESTDIR)$(LIBDIR)/libasmrun.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libasmrun.a
+
+ install-noprof:
+- rm -f $(LIBDIR)/libasmrunp.a; ln -s libasmrun.a $(LIBDIR)/libasmrunp.a
++ rm -f $(DESTDIR)$(LIBDIR)/libasmrunp.a; ln -s libasmrun.a $(DESTDIR)$(LIBDIR)/libasmrunp.a
+
+ install-prof:
+- cp libasmrunp.a $(LIBDIR)/libasmrunp.a
+- cd $(LIBDIR); $(RANLIB) libasmrunp.a
++ cp libasmrunp.a $(DESTDIR)$(LIBDIR)/libasmrunp.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libasmrunp.a
+
+ power.o: power-$(SYSTEM).o
+ cp power-$(SYSTEM).o power.o
+diff -ur ocaml-3.04--/byterun/Makefile ocaml-3.04/byterun/Makefile
+--- ocaml-3.04--/byterun/Makefile Fri Dec 7 14:39:21 2001
++++ ocaml-3.04/byterun/Makefile Sat Feb 2 01:48:21 2002
+@@ -47,17 +47,17 @@
+ prims.o libcamlrund.a $(BYTECCLIBS)
+
+ install:
+- cp ocamlrun$(EXE) $(BINDIR)/ocamlrun$(EXE)
+- cp libcamlrun.a $(LIBDIR)/libcamlrun.a
+- cd $(LIBDIR); $(RANLIB) libcamlrun.a
+- if test -d $(LIBDIR)/caml; then : ; else mkdir $(LIBDIR)/caml; fi
+- cp $(PUBLIC_INCLUDES) $(LIBDIR)/caml
++ cp ocamlrun$(EXE) $(DESTDIR)$(BINDIR)/ocamlrun$(EXE)
++ cp libcamlrun.a $(DESTDIR)$(LIBDIR)/libcamlrun.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libcamlrun.a
++ if test -d $(DESTDIR)$(LIBDIR)/caml; then : ; else mkdir $(DESTDIR)$(LIBDIR)/caml; fi
++ cp $(PUBLIC_INCLUDES) $(DESTDIR)$(LIBDIR)/caml
+ sed -e '/#include ".*\/m.h/r ../config/m.h' \
+ -e '/#include ".*\/s.h/r ../config/s.h' \
+- -e '/#include "/d' config.h > $(LIBDIR)/caml/config.h
++ -e '/#include "/d' config.h > $(DESTDIR)$(LIBDIR)/caml/config.h
+ sed -e '/#include ".*gc\.h"/d' \
+ -e '/#define Alloc_small/,/^}/d' \
+- -e '/Modify/,/^}/d' memory.h > $(LIBDIR)/caml/memory.h
++ -e '/Modify/,/^}/d' memory.h > $(DESTDIR)$(LIBDIR)/caml/memory.h
+
+ libcamlrun.a: $(OBJS)
+ ar rc libcamlrun.a $(OBJS)
+diff -ur ocaml-3.04--/camlp4/Makefile ocaml-3.04/camlp4/Makefile
+--- ocaml-3.04--/camlp4/Makefile Mon Sep 10 11:56:13 2001
++++ ocaml-3.04/camlp4/Makefile Sat Feb 2 01:48:21 2002
+@@ -28,7 +28,9 @@
+ for i in $(DIRS); do (cd $$i; $(MAKE) depend); done
+
+ install:
+- for i in $(DIRS); do (cd $$i; $(MAKE) install BINDIR=$(BINDIR) LIBDIR=$(LIBDIR) MANDIR=$(MANDIR)); done
++ for i in $(DIRS); do \
++ (cd $$i; $(MAKE) install) || exit $$?; \
++ done
+
+ clean::
+ $(MAKE) clean_hot clean_cold
+diff -ur ocaml-3.04--/camlp4/camlp4/Makefile ocaml-3.04/camlp4/camlp4/Makefile
+--- ocaml-3.04--/camlp4/camlp4/Makefile Wed Oct 3 01:25:20 2001
++++ ocaml-3.04/camlp4/camlp4/Makefile Sat Feb 2 01:48:21 2002
+@@ -61,10 +61,10 @@
+ done
+
+ install:
+- -$(MKDIR) $(BINDIR)
+- cp $(CAMLP4) $(BINDIR)/.
+- cp mLast.mli quotation.mli pcaml.mli spretty.mli $(LIBDIR)/.
+- cp mLast.cmi quotation.cmi ast2pt.cmi pcaml.cmi spretty.cmi $(LIBDIR)/.
+- cp camlp4.cma $(LIBDIR)/.
++ -$(MKDIR) $(DESTDIR)$(BINDIR)
++ cp $(CAMLP4) $(DESTDIR)$(BINDIR)/.
++ cp mLast.mli quotation.mli pcaml.mli spretty.mli $(DESTDIR)$(LIBDIR)/.
++ cp mLast.cmi quotation.cmi ast2pt.cmi pcaml.cmi spretty.cmi $(DESTDIR)$(LIBDIR)/.
++ cp camlp4.cma $(DESTDIR)$(LIBDIR)/.
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/etc/Makefile ocaml-3.04/camlp4/etc/Makefile
+--- ocaml-3.04--/camlp4/etc/Makefile Fri Sep 28 14:11:43 2001
++++ ocaml-3.04/camlp4/etc/Makefile Sat Feb 2 01:48:21 2002
+@@ -48,14 +48,14 @@
+ get_promote:
+
+ install:
+- -$(MKDIR) $(LIBDIR) $(BINDIR)
+- cp $(OBJS) $(LIBDIR)/.
+- cp $(INTF) $(LIBDIR)/.
+- cp lib.sml $(LIBDIR)/.
+- cp camlp4o$(EXE) $(BINDIR)/.
+- if test -f $(COPT); then cp $(COPT) $(BINDIR)/.; fi
+- cp mkcamlp4.sh $(BINDIR)/mkcamlp4
+- chmod a+x $(BINDIR)/mkcamlp4
++ -$(MKDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
++ cp $(OBJS) $(DESTDIR)$(LIBDIR)/.
++ cp $(INTF) $(DESTDIR)$(LIBDIR)/.
++ cp lib.sml $(DESTDIR)$(LIBDIR)/.
++ cp camlp4o$(EXE) $(DESTDIR)$(BINDIR)/.
++ if test -f $(COPT); then cp $(COPT) $(DESTDIR)$(BINDIR)/.; fi
++ cp mkcamlp4.sh $(DESTDIR)$(BINDIR)/mkcamlp4
++ chmod a+x $(DESTDIR)$(BINDIR)/mkcamlp4
+
+ pa_lisp.cmo: pa_lispr.cmo
+ pr_extend.cmo: pa_extfun.cmo
+diff -ur ocaml-3.04--/camlp4/lib/Makefile ocaml-3.04/camlp4/lib/Makefile
+--- ocaml-3.04--/camlp4/lib/Makefile Fri Sep 7 09:58:12 2001
++++ ocaml-3.04/camlp4/lib/Makefile Sat Feb 2 01:48:21 2002
+@@ -36,17 +36,17 @@
+ done
+
+ install:
+- -$(MKDIR) $(LIBDIR)
+- cp $(TARGET) *.mli $(LIBDIR)/.
+- cp *.cmi $(LIBDIR)/.
+- if test -f $(TARGET:.cma=.cmxa); then $(MAKE) installopt LIBDIR=$(LIBDIR); fi
++ -$(MKDIR) $(DESTDIR)$(LIBDIR)
++ cp $(TARGET) *.mli $(DESTDIR)$(LIBDIR)/.
++ cp *.cmi $(DESTDIR)$(LIBDIR)/.
++ if test -f $(TARGET:.cma=.cmxa); then $(MAKE) installopt; fi
+
+ installopt:
+- cp $(TARGET:.cma=.cmxa) *.cmx $(LIBDIR)/.
++ cp $(TARGET:.cma=.cmxa) *.cmx $(DESTDIR)$(LIBDIR)/.
+ if test -f $(TARGET:.cma=.lib); then \
+- cp $(TARGET:.cma=.lib) $(LIBDIR)/.; \
++ cp $(TARGET:.cma=.lib) $(DESTDIR)$(LIBDIR)/.; \
+ else \
+- tar cf - $(TARGET:.cma=.a) | (cd $(LIBDIR)/.; tar xf -); \
++ tar cf - $(TARGET:.cma=.a) | (cd $(DESTDIR)$(LIBDIR)/.; tar xf -); \
+ fi
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/meta/Makefile ocaml-3.04/camlp4/meta/Makefile
+--- ocaml-3.04--/camlp4/meta/Makefile Sat Feb 2 01:06:30 2002
++++ ocaml-3.04/camlp4/meta/Makefile Sat Feb 2 01:48:21 2002
+@@ -42,10 +42,10 @@
+ done
+
+ install:
+- -$(MKDIR) $(LIBDIR) $(BINDIR)
+- cp $(OBJS) $(LIBDIR)/.
+- cp pa_ifdef.cmi $(LIBDIR)/.
+- cp camlp4r$(EXE) $(BINDIR)/.
+- if test -f $(COPT); then cp $(COPT) $(BINDIR)/.; fi
++ -$(MKDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
++ cp $(OBJS) $(DESTDIR)$(LIBDIR)/.
++ cp pa_ifdef.cmi $(DESTDIR)$(LIBDIR)/.
++ cp camlp4r$(EXE) $(DESTDIR)$(BINDIR)/.
++ if test -f $(COPT); then cp $(COPT) $(DESTDIR)$(BINDIR)/.; fi
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/ocaml_src/camlp4/Makefile ocaml-3.04/camlp4/ocaml_src/camlp4/Makefile
+--- ocaml-3.04--/camlp4/ocaml_src/camlp4/Makefile Wed Oct 3 11:40:12 2001
++++ ocaml-3.04/camlp4/ocaml_src/camlp4/Makefile Sat Feb 2 01:48:21 2002
+@@ -61,10 +61,10 @@
+ done
+
+ install:
+- -$(MKDIR) $(BINDIR)
+- cp $(CAMLP4) $(BINDIR)/.
+- cp mLast.mli quotation.mli pcaml.mli spretty.mli $(LIBDIR)/.
+- cp mLast.cmi quotation.cmi ast2pt.cmi pcaml.cmi spretty.cmi $(LIBDIR)/.
+- cp camlp4.cma $(LIBDIR)/.
++ -$(MKDIR) $(DESTDIR)$(BINDIR)
++ cp $(CAMLP4) $(DESTDIR)$(BINDIR)/.
++ cp mLast.mli quotation.mli pcaml.mli spretty.mli $(DESTDIR)$(LIBDIR)/.
++ cp mLast.cmi quotation.cmi ast2pt.cmi pcaml.cmi spretty.cmi $(DESTDIR)$(LIBDIR)/.
++ cp camlp4.cma $(DESTDIR)$(LIBDIR)/.
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/ocaml_src/lib/Makefile ocaml-3.04/camlp4/ocaml_src/lib/Makefile
+--- ocaml-3.04--/camlp4/ocaml_src/lib/Makefile Fri Sep 7 09:20:28 2001
++++ ocaml-3.04/camlp4/ocaml_src/lib/Makefile Sat Feb 2 01:48:21 2002
+@@ -36,17 +36,17 @@
+ done
+
+ install:
+- -$(MKDIR) $(LIBDIR)
+- cp $(TARGET) *.mli $(LIBDIR)/.
+- cp *.cmi $(LIBDIR)/.
+- if test -f $(TARGET:.cma=.cmxa); then $(MAKE) installopt LIBDIR=$(LIBDIR); fi
++ -$(MKDIR) $(DESTDIR)$(LIBDIR)
++ cp $(TARGET) *.mli $(DESTDIR)$(LIBDIR)/.
++ cp *.cmi $(DESTDIR)$(LIBDIR)/.
++ if test -f $(TARGET:.cma=.cmxa); then $(MAKE) installopt; fi
+
+ installopt:
+- cp $(TARGET:.cma=.cmxa) *.cmx $(LIBDIR)/.
++ cp $(TARGET:.cma=.cmxa) *.cmx $(DESTDIR)$(LIBDIR)/.
+ if test -f $(TARGET:.cma=.lib); then \
+- cp $(TARGET:.cma=.lib) $(LIBDIR)/.; \
++ cp $(TARGET:.cma=.lib) $(DESTDIR)$(LIBDIR)/.; \
+ else \
+- tar cf - $(TARGET:.cma=.a) | (cd $(LIBDIR)/.; tar xf -); \
++ tar cf - $(TARGET:.cma=.a) | (cd $(DESTDIR)$(LIBDIR)/.; tar xf -); \
+ fi
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/ocaml_src/meta/Makefile ocaml-3.04/camlp4/ocaml_src/meta/Makefile
+--- ocaml-3.04--/camlp4/ocaml_src/meta/Makefile Sat Feb 2 01:06:30 2002
++++ ocaml-3.04/camlp4/ocaml_src/meta/Makefile Sat Feb 2 01:48:21 2002
+@@ -42,10 +42,10 @@
+ done
+
+ install:
+- -$(MKDIR) $(LIBDIR) $(BINDIR)
+- cp $(OBJS) $(LIBDIR)/.
+- cp pa_ifdef.cmi $(LIBDIR)/.
+- cp camlp4r$(EXE) $(BINDIR)/.
+- if test -f $(COPT); then cp $(COPT) $(BINDIR)/.; fi
++ -$(MKDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
++ cp $(OBJS) $(DESTDIR)$(LIBDIR)/.
++ cp pa_ifdef.cmi $(DESTDIR)$(LIBDIR)/.
++ cp camlp4r$(EXE) $(DESTDIR)$(BINDIR)/.
++ if test -f $(COPT); then cp $(COPT) $(DESTDIR)$(BINDIR)/.; fi
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/ocaml_src/odyl/Makefile ocaml-3.04/camlp4/ocaml_src/odyl/Makefile
+--- ocaml-3.04--/camlp4/ocaml_src/odyl/Makefile Wed Oct 3 14:06:22 2001
++++ ocaml-3.04/camlp4/ocaml_src/odyl/Makefile Sat Feb 2 01:48:21 2002
+@@ -49,8 +49,8 @@
+ compare:
+
+ install:
+- -$(MKDIR) $(LIBDIR) $(BINDIR)
+- cp odyl.cmo odyl.cma $(LIBDIR)
+- cp odyl$(EXE) $(BINDIR)/.
++ -$(MKDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
++ cp odyl.cmo odyl.cma $(DESTDIR)$(LIBDIR)
++ cp odyl$(EXE) $(DESTDIR)$(BINDIR)/.
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/ocpp/Makefile ocaml-3.04/camlp4/ocpp/Makefile
+--- ocaml-3.04--/camlp4/ocpp/Makefile Fri Sep 7 09:57:04 2001
++++ ocaml-3.04/camlp4/ocpp/Makefile Sat Feb 2 01:48:21 2002
+@@ -24,9 +24,9 @@
+ rm -f *.cm[ioa] *.pp[io] *.o *.out *.bak .*.bak crc.ml ocpp$(EXE)
+
+ install:
+- -$(MKDIR) $(LIBDIR) $(BINDIR)
+- cp $(OBJS) $(LIBDIR)
+- cp ocpp$(EXE) $(BINDIR)/.
++ -$(MKDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
++ cp $(OBJS) $(DESTDIR)$(LIBDIR)
++ cp ocpp$(EXE) $(DESTDIR)$(BINDIR)/.
+
+ depend:
+
+diff -ur ocaml-3.04--/camlp4/odyl/Makefile ocaml-3.04/camlp4/odyl/Makefile
+--- ocaml-3.04--/camlp4/odyl/Makefile Wed Oct 3 13:50:08 2001
++++ ocaml-3.04/camlp4/odyl/Makefile Sat Feb 2 01:48:21 2002
+@@ -49,8 +49,8 @@
+ compare:
+
+ install:
+- -$(MKDIR) $(LIBDIR) $(BINDIR)
+- cp odyl.cmo odyl.cma $(LIBDIR)
+- cp odyl$(EXE) $(BINDIR)/.
++ -$(MKDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(BINDIR)
++ cp odyl.cmo odyl.cma $(DESTDIR)$(LIBDIR)
++ cp odyl$(EXE) $(DESTDIR)$(BINDIR)/.
+
+ include .depend
+diff -ur ocaml-3.04--/camlp4/top/Makefile ocaml-3.04/camlp4/top/Makefile
+--- ocaml-3.04--/camlp4/top/Makefile Sat Sep 8 12:45:45 2001
++++ ocaml-3.04/camlp4/top/Makefile Sat Feb 2 01:48:21 2002
+@@ -41,7 +41,7 @@
+ get_promote:
+
+ install:
+- -$(MKDIR) $(LIBDIR)
+- cp $(TARGET) $(LIBDIR)/.
++ -$(MKDIR) $(DESTDIR)$(LIBDIR)
++ cp $(TARGET) $(DESTDIR)$(LIBDIR)/.
+
+ include .depend
+diff -ur ocaml-3.04--/debugger/Makefile ocaml-3.04/debugger/Makefile
+--- ocaml-3.04--/debugger/Makefile Tue Oct 30 11:02:42 2001
++++ ocaml-3.04/debugger/Makefile Sat Feb 2 01:48:21 2002
+@@ -79,7 +79,7 @@
+ $(CAMLC) $(LINKFLAGS) -o ocamldebug$(EXE) $(OTHEROBJS) $(OBJS)
+
+ install:
+- cp ocamldebug$(EXE) $(BINDIR)/ocamldebug$(EXE)
++ cp ocamldebug$(EXE) $(DESTDIR)$(BINDIR)/ocamldebug$(EXE)
+
+ clean::
+ rm -f ocamldebug$(EXE)
+diff -ur ocaml-3.04--/emacs/Makefile ocaml-3.04/emacs/Makefile
+--- ocaml-3.04--/emacs/Makefile Wed Nov 17 19:57:32 1999
++++ ocaml-3.04/emacs/Makefile Sat Feb 2 01:48:21 2002
+@@ -38,9 +38,9 @@
+
+ simple-install:
+ @echo "Installing in $(EMACSDIR)..."
+- if test -d $(EMACSDIR); then : ; else mkdir -p $(EMACSDIR); fi
+- cp $(FILES) $(EMACSDIR)
+- cd $(EMACSDIR); $(EMACS) --batch --eval '$(COMPILECMD)'
++ if test -d $(DESTDIR)$(EMACSDIR); then : ; else mkdir -p $(DESTDIR)$(EMACSDIR); fi
++ cp $(FILES) $(DESTDIR)$(EMACSDIR)
++ cd $(DESTDIR)$(EMACSDIR); $(EMACS) --batch --eval '$(COMPILECMD)'
+
+ ocamltags: ocamltags.in
+ sed -e 's:@EMACS@:$(EMACS):' ocamltags.in >ocamltags
+diff -ur ocaml-3.04--/man/Makefile ocaml-3.04/man/Makefile
+--- ocaml-3.04--/man/Makefile Wed Nov 17 19:57:40 1999
++++ ocaml-3.04/man/Makefile Sat Feb 2 01:48:21 2002
+@@ -15,6 +15,6 @@
+ include ../config/Makefile
+
+ install:
+- for i in *.m; do cp $$i $(MANDIR)/`basename $$i .m`.$(MANEXT); done
+- echo '.so man$(MANEXT)/ocamlc.$(MANEXT)' > $(MANDIR)/ocamlc.opt.$(MANEXT)
+- echo '.so man$(MANEXT)/ocamlopt.$(MANEXT)' > $(MANDIR)/ocamlopt.opt.$(MANEXT)
++ for i in *.m; do cp $$i $(DESTDIR)$(MANDIR)/`basename $$i .m`.$(MANEXT); done
++ echo '.so man$(MANEXT)/ocamlc.$(MANEXT)' > $(DESTDIR)$(MANDIR)/ocamlc.opt.$(MANEXT)
++ echo '.so man$(MANEXT)/ocamlopt.$(MANEXT)' > $(DESTDIR)$(MANDIR)/ocamlopt.opt.$(MANEXT)
+diff -ur ocaml-3.04--/otherlibs/bigarray/Makefile ocaml-3.04/otherlibs/bigarray/Makefile
+--- ocaml-3.04--/otherlibs/bigarray/Makefile Fri Dec 7 14:39:49 2001
++++ ocaml-3.04/otherlibs/bigarray/Makefile Sat Feb 2 01:48:21 2002
+@@ -40,14 +40,14 @@
+ $(CAML_OBJS:.cmo=.cmx)
+
+ install:
+- if test -f dllbigarray.so; then cp dllbigarray.so $(LIBDIR)/dllbigarray.so; fi
+- cp bigarray.cmi bigarray.mli libbigarray.a bigarray.cma $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) libbigarray.a
+- cp bigarray.h $(LIBDIR)/caml/bigarray.h
++ if test -f dllbigarray.so; then cp dllbigarray.so $(DESTDIR)$(LIBDIR)/dllbigarray.so; fi
++ cp bigarray.cmi bigarray.mli libbigarray.a bigarray.cma $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libbigarray.a
++ cp bigarray.h $(DESTDIR)$(LIBDIR)/caml/bigarray.h
+
+ installopt:
+- cp bigarray.a $(CAML_OBJS:.cmo=.cmx) bigarray.cmxa $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) bigarray.a
++ cp bigarray.a $(CAML_OBJS:.cmo=.cmx) bigarray.cmxa $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) bigarray.a
+
+ partialclean:
+ rm -f *.cm*
+diff -ur ocaml-3.04--/otherlibs/db/Makefile ocaml-3.04/otherlibs/db/Makefile
+--- ocaml-3.04--/otherlibs/db/Makefile Fri Dec 7 14:39:50 2001
++++ ocaml-3.04/otherlibs/db/Makefile Sat Feb 2 01:48:21 2002
+@@ -46,13 +46,13 @@
+ rm -f *.a *.o
+
+ install:
+- cp libmldb.a $(LIBDIR)/libmldb.a
+- cd $(LIBDIR); $(RANLIB) libmldb.a
+- cp db.cma db.cmi db.mli $(LIBDIR)
++ cp libmldb.a $(DESTDIR)$(LIBDIR)/libmldb.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libmldb.a
++ cp db.cma db.cmi db.mli $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp db.cmx db.cmxa db.a $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) db.a
++ cp db.cmx db.cmxa db.a $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) db.a
+
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+diff -ur ocaml-3.04--/otherlibs/db/dbstubs.c ocaml-3.04/otherlibs/db/dbstubs.c
+--- ocaml-3.04--/otherlibs/db/dbstubs.c Fri Dec 7 14:39:50 2001
++++ ocaml-3.04/otherlibs/db/dbstubs.c Sat Feb 2 02:36:52 2002
+@@ -22,7 +22,7 @@
+
+ #include <sys/types.h>
+ #include <limits.h>
+-#include <db.h>
++#include <db_185.h>
+ /* O_CREAT and others are not defined in db.h */
+ #include <fcntl.h>
+
+diff -ur ocaml-3.04--/otherlibs/dbm/Makefile ocaml-3.04/otherlibs/dbm/Makefile
+--- ocaml-3.04--/otherlibs/dbm/Makefile Fri Dec 7 14:39:51 2001
++++ ocaml-3.04/otherlibs/dbm/Makefile Sat Feb 2 01:50:02 2002
+@@ -46,14 +46,14 @@
+ rm -f *.a *.o *.so
+
+ install:
+- if test -f dllmldbm.so; then cp dllmldbm.so $(LIBDIR)/dllmldbm.so; fi
+- cp libmldbm.a $(LIBDIR)/libmldbm.a
+- cd $(LIBDIR); $(RANLIB) libmldbm.a
+- cp dbm.cma dbm.cmi dbm.mli $(LIBDIR)
++ if test -f dllmldbm.so; then cp dllmldbm.so $(DESTDIR)$(LIBDIR)/dllmldbm.so; fi
++ cp libmldbm.a $(DESTDIR)$(LIBDIR)/libmldbm.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libmldbm.a
++ cp dbm.cma dbm.cmi dbm.mli $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp dbm.cmx dbm.cmxa dbm.a $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) dbm.a
++ cp dbm.cmx dbm.cmxa dbm.a $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) dbm.a
+
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+diff -ur ocaml-3.04--/otherlibs/dynlink/Makefile ocaml-3.04/otherlibs/dynlink/Makefile
+--- ocaml-3.04--/otherlibs/dynlink/Makefile Fri Dec 7 14:39:51 2001
++++ ocaml-3.04/otherlibs/dynlink/Makefile Sat Feb 2 01:48:21 2002
+@@ -38,7 +38,7 @@
+ $(CAMLC) $(COMPFLAGS) -o extract_crc dynlink.cma extract_crc.cmo
+
+ install:
+- cp dynlink.cmi dynlink.cma dynlink.mli extract_crc $(LIBDIR)
++ cp dynlink.cmi dynlink.cma dynlink.mli extract_crc $(DESTDIR)$(LIBDIR)
+
+ installopt:
+
+diff -ur ocaml-3.04--/otherlibs/graph/Makefile ocaml-3.04/otherlibs/graph/Makefile
+--- ocaml-3.04--/otherlibs/graph/Makefile Fri Dec 7 14:39:52 2001
++++ ocaml-3.04/otherlibs/graph/Makefile Sat Feb 2 01:48:21 2002
+@@ -49,14 +49,14 @@
+ rm -f *.a *.so *.o
+
+ install:
+- if test -f dllgraphics.so; then cp dllgraphics.so $(LIBDIR)/dllgraphics.so; fi
+- cp libgraphics.a $(LIBDIR)/libgraphics.a
+- cd $(LIBDIR); $(RANLIB) libgraphics.a
+- cp graphics.cm[ia] graphicsX11.cmi graphics.mli graphicsX11.mli $(LIBDIR)
++ if test -f dllgraphics.so; then cp dllgraphics.so $(DESTDIR)$(LIBDIR)/dllgraphics.so; fi
++ cp libgraphics.a $(DESTDIR)$(LIBDIR)/libgraphics.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libgraphics.a
++ cp graphics.cm[ia] graphicsX11.cmi graphics.mli graphicsX11.mli $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp graphics.cmxa graphics.a $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) graphics.a
++ cp graphics.cmxa graphics.a $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) graphics.a
+
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+diff -ur ocaml-3.04--/otherlibs/labltk/browser/Makefile ocaml-3.04/otherlibs/labltk/browser/Makefile
+--- ocaml-3.04--/otherlibs/labltk/browser/Makefile Wed Oct 3 08:34:55 2001
++++ ocaml-3.04/otherlibs/labltk/browser/Makefile Sat Feb 2 01:48:21 2002
+@@ -44,7 +44,7 @@
+
+ install:
+ if test -f ocamlbrowser$(EXE); then : ; \
+- cp ocamlbrowser$(EXE) $(BINDIR); fi
++ cp ocamlbrowser$(EXE) $(DESTDIR)$(BINDIR); fi
+
+ clean:
+ rm -f *.cm? ocamlbrowser$(EXE) dummy.mli *~ *.orig
+diff -ur ocaml-3.04--/otherlibs/labltk/compiler/Makefile ocaml-3.04/otherlibs/labltk/compiler/Makefile
+--- ocaml-3.04--/otherlibs/labltk/compiler/Makefile Thu Sep 6 10:52:25 2001
++++ ocaml-3.04/otherlibs/labltk/compiler/Makefile Sat Feb 2 01:48:21 2002
+@@ -19,7 +19,7 @@
+ rm -f *.cm* parser.ml parser.mli lexer.ml tkcompiler
+
+ install:
+- cp tkcompiler $(LABLTKDIR)
++ cp tkcompiler $(DESTDIR)$(LABLTKDIR)
+
+ .SUFFIXES :
+ .SUFFIXES : .mli .ml .cmi .cmo .mlp
+diff -ur ocaml-3.04--/otherlibs/labltk/jpf/Makefile ocaml-3.04/otherlibs/labltk/jpf/Makefile
+--- ocaml-3.04--/otherlibs/labltk/jpf/Makefile Tue Feb 27 11:09:42 2001
++++ ocaml-3.04/otherlibs/labltk/jpf/Makefile Sat Feb 2 01:48:21 2002
+@@ -21,10 +21,10 @@
+ $(CAMLOPTLIBR) -o libjpf.cmxa $(OBJSX)
+
+ install: libjpf.cma
+- cp $(OBJS:.cmo=.cmi) $(OBJS:.cmo=.mli) libjpf.cma $(LABLTKDIR)
++ cp $(OBJS:.cmo=.cmi) $(OBJS:.cmo=.mli) libjpf.cma $(DESTDIR)$(LABLTKDIR)
+
+ installopt: libjpf.cmxa
+- cp libjpf.cmxa libjpf.a $(OBJS:.cmo=.cmx) $(LABLTKDIR)
++ cp libjpf.cmxa libjpf.a $(OBJS:.cmo=.cmx) $(DESTDIR)$(LABLTKDIR)
+
+ clean:
+ rm -f *.cm* *.o *.a *~ *test
+diff -ur ocaml-3.04--/otherlibs/labltk/lib/Makefile ocaml-3.04/otherlibs/labltk/lib/Makefile
+--- ocaml-3.04--/otherlibs/labltk/lib/Makefile Tue Oct 30 10:32:31 2001
++++ ocaml-3.04/otherlibs/labltk/lib/Makefile Sat Feb 2 01:48:21 2002
+@@ -45,28 +45,27 @@
+ rm -f *.cm* *.ml *.mli *.o *.a labltktop$(EXE)
+
+ install: labltk.cma labltktop$(EXE) labltk
+- if test -d $(LABLTKDIR); then : ; else mkdir $(LABLTKDIR); fi
+- if test `grep -s -c '^$(LABLTKDIR)$$' $(LIBDIR)/ld.conf || :` = 0; \
+- then echo $(LABLTKDIR) >> $(LIBDIR)/ld.conf; fi
+- cp $(WIDGETOBJS:.cmo=.cmi) tk.cmi $(LABLTKDIR)
+- cp labltk.cma labltktop$(EXE) $(LABLTKDIR)
+- chmod 644 $(LABLTKDIR)/*.cmi
+- chmod 644 $(LABLTKDIR)/labltk.cma
+- chmod 755 $(LABLTKDIR)/labltktop$(EXE)
+- @if test -d $(BINDIR); then : ; else mkdir $(BINDIR); fi
+- cp labltk $(BINDIR)
+- chmod 755 $(BINDIR)/labltk
++ if test -d $(DESTDIR)$(LABLTKDIR); then : ; else mkdir $(DESTDIR)$(LABLTKDIR); fi
++ if test `grep -s -c '^$(LABLTKDIR)$$' $(DESTDIR)$(LIBDIR)/ld.conf || :` = 0; \
++ then echo $(LABLTKDIR) >> $(DESTDIR)$(LIBDIR)/ld.conf; fi
++ cp $(WIDGETOBJS:.cmo=.cmi) tk.cmi $(DESTDIR)$(LABLTKDIR)
++ cp labltk.cma labltktop$(EXE) $(DESTDIR)$(LABLTKDIR)
++ chmod 644 $(DESTDIR)$(LABLTKDIR)/*.cmi
++ chmod 644 $(DESTDIR)$(LABLTKDIR)/labltk.cma
++ chmod 755 $(DESTDIR)$(LABLTKDIR)/labltktop$(EXE)
++ @if test -d $(DESTDIR)$(BINDIR); then : ; else mkdir $(DESTDIR)$(BINDIR); fi
++ cp labltk $(DESTDIR)$(BINDIR)
++ chmod 755 $(DESTDIR)$(BINDIR)/labltk
+
+
+ installopt: labltk.cmxa
+- @if test -d $(LABLTKDIR); then : ; else mkdir $(LABLTKDIR); fi
+- cp $(SUPPORTX) $(WIDGETOBJSX) tk.cmx $(LABLTKDIR)
+- cp labltk.cmxa labltk.a $(LABLTKDIR)
+- cd $(LABLTKDIR); $(RANLIB) labltk.a
+- chmod 644 $(LABLTKDIR)/*.cmx
+- chmod 644 $(LABLTKDIR)/labltk.cmxa
+- chmod 644 $(LABLTKDIR)/labltk.a
+- @if test -d $(BINDIR); then : ; else mkdir $(BINDIR); fi
++ @if test -d $(DESTDIR)$(LABLTKDIR); then : ; else mkdir $(DESTDIR)$(LABLTKDIR); fi
++ cp $(SUPPORTX) $(WIDGETOBJSX) tk.cmx $(DESTDIR)$(LABLTKDIR)
++ cp labltk.cmxa labltk.a $(DESTDIR)$(LABLTKDIR)
++ cd $(DESTDIR)$(LABLTKDIR); $(RANLIB) labltk.a
++ chmod 644 $(DESTDIR)$(LABLTKDIR)/*.cmx
++ chmod 644 $(DESTDIR)$(LABLTKDIR)/labltk.cmxa
++ chmod 644 $(DESTDIR)$(LABLTKDIR)/labltk.a
+
+ .SUFFIXES :
+ .SUFFIXES : .mli .ml .cmi .cmx .cmo .mlp
+diff -ur ocaml-3.04--/otherlibs/labltk/support/Makefile ocaml-3.04/otherlibs/labltk/support/Makefile
+--- ocaml-3.04--/otherlibs/labltk/support/Makefile Mon Dec 3 01:26:38 2001
++++ ocaml-3.04/otherlibs/labltk/support/Makefile Sat Feb 2 01:48:21 2002
+@@ -25,13 +25,13 @@
+ widget.cmi widget.mli
+
+ install: liblabltk41.a $(PUB)
+- if test -d $(LABLTKDIR); then : ; else mkdir $(LABLTKDIR); fi
+- cp $(PUB) liblabltk41.a $(LABLTKDIR)
+- cd $(LABLTKDIR); $(RANLIB) liblabltk41.a
+- cd $(LABLTKDIR); chmod 644 $(PUB) liblabltk41.a
++ if test -d $(DESTDIR)$(LABLTKDIR); then : ; else mkdir $(DESTDIR)$(LABLTKDIR); fi
++ cp $(PUB) liblabltk41.a $(DESTDIR)$(LABLTKDIR)
++ cd $(DESTDIR)$(LABLTKDIR); $(RANLIB) liblabltk41.a
++ cd $(DESTDIR)$(LABLTKDIR); chmod 644 $(PUB) liblabltk41.a
+ if test -f dlllabltk41.so; then \
+- cp dlllabltk41.so $(LABLTKDIR)/dlllabltk41.so; \
+- chmod 644 $(LABLTKDIR)/dlllabltk41.so; fi
++ cp dlllabltk41.so $(DESTDIR)$(LABLTKDIR)/dlllabltk41.so; \
++ chmod 644 $(DESTDIR)$(LABLTKDIR)/dlllabltk41.so; fi
+
+ clean :
+ rm -f *.cm* *.o *.a
+diff -ur ocaml-3.04--/otherlibs/num/Makefile ocaml-3.04/otherlibs/num/Makefile
+--- ocaml-3.04--/otherlibs/num/Makefile Fri Dec 7 14:40:14 2001
++++ ocaml-3.04/otherlibs/num/Makefile Sat Feb 2 01:48:21 2002
+@@ -52,14 +52,14 @@
+ $(CAMLOBJS:.cmo=.cmx): ../../ocamlopt
+
+ install:
+- if test -f dllnums.so; then cp dllnums.so $(LIBDIR)/dllnums.so; fi
+- cp libnums.a $(LIBDIR)/libnums.a
+- cd $(LIBDIR); $(RANLIB) libnums.a
+- cp nums.cma $(CMIFILES) $(CMIFILES:.cmi=.mli) $(LIBDIR)
++ if test -f dllnums.so; then cp dllnums.so $(DESTDIR)$(LIBDIR)/dllnums.so; fi
++ cp libnums.a $(DESTDIR)$(LIBDIR)/libnums.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libnums.a
++ cp nums.cma $(CMIFILES) $(CMIFILES:.cmi=.mli) $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp $(CAMLOBJS:.cmo=.cmx) nums.cmxa nums.a $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) nums.a
++ cp $(CAMLOBJS:.cmo=.cmx) nums.cmxa nums.a $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) nums.a
+
+ partialclean:
+ rm -f *.cm*
+diff -ur ocaml-3.04--/otherlibs/str/Makefile ocaml-3.04/otherlibs/str/Makefile
+--- ocaml-3.04--/otherlibs/str/Makefile Fri Dec 7 14:40:17 2001
++++ ocaml-3.04/otherlibs/str/Makefile Sat Feb 2 01:48:21 2002
+@@ -52,14 +52,14 @@
+ cd $(REGEXLIB); if test -f Makefile; then $(MAKE) distclean; else exit 0; fi
+
+ install:
+- if test -f dllstr.so; then cp dllstr.so $(LIBDIR)/dllstr.so; fi
+- cp libstr.a $(LIBDIR)/libstr.a
+- cd $(LIBDIR); $(RANLIB) libstr.a
+- cp str.cma str.cmi str.mli $(LIBDIR)
++ if test -f dllstr.so; then cp dllstr.so $(DESTDIR)$(LIBDIR)/dllstr.so; fi
++ cp libstr.a $(DESTDIR)$(LIBDIR)/libstr.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libstr.a
++ cp str.cma str.cmi str.mli $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp str.cmx str.cmxa str.a $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) str.a
++ cp str.cmx str.cmxa str.a $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) str.a
+
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+diff -ur ocaml-3.04--/otherlibs/systhreads/Makefile ocaml-3.04/otherlibs/systhreads/Makefile
+--- ocaml-3.04--/otherlibs/systhreads/Makefile Fri Dec 7 14:40:18 2001
++++ ocaml-3.04/otherlibs/systhreads/Makefile Sat Feb 2 01:48:21 2002
+@@ -69,19 +69,19 @@
+ rm -f $(GENFILES)
+
+ install:
+- if test -f dllthreads.so; then cp dllthreads.so $(LIBDIR)/dllthreads.so; fi
+- cp libthreads.a $(LIBDIR)/libthreads.a
+- cd $(LIBDIR); $(RANLIB) libthreads.a
+- if test -d $(LIBDIR)/threads; then :; else mkdir $(LIBDIR)/threads; fi
+- cp $(THREAD_OBJS:.cmo=.cmi) threads.cma $(LIBDIR)/threads
+- rm -f $(LIBDIR)/threads/stdlib.cma
+- cp thread.mli mutex.mli condition.mli event.mli threadUnix.mli $(LIBDIR)
++ if test -f dllthreads.so; then cp dllthreads.so $(DESTDIR)$(LIBDIR)/dllthreads.so; fi
++ cp libthreads.a $(DESTDIR)$(LIBDIR)/libthreads.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libthreads.a
++ if test -d $(DESTDIR)$(LIBDIR)/threads; then :; else mkdir $(DESTDIR)$(LIBDIR)/threads; fi
++ cp $(THREAD_OBJS:.cmo=.cmi) threads.cma $(DESTDIR)$(LIBDIR)/threads
++ rm -f $(DESTDIR)$(LIBDIR)/threads/stdlib.cma
++ cp thread.mli mutex.mli condition.mli event.mli threadUnix.mli $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp libthreadsnat.a $(LIBDIR)/libthreadsnat.a
+- cd $(LIBDIR); $(RANLIB) libthreadsnat.a
+- cp $(THREAD_OBJS:.cmo=.cmx) threads.cmxa threads.a $(LIBDIR)/threads
+- cd $(LIBDIR)/threads; $(RANLIB) threads.a
++ cp libthreadsnat.a $(DESTDIR)$(LIBDIR)/libthreadsnat.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libthreadsnat.a
++ cp $(THREAD_OBJS:.cmo=.cmx) threads.cmxa threads.a $(DESTDIR)$(LIBDIR)/threads
++ cd $(DESTDIR)$(LIBDIR)/threads; $(RANLIB) threads.a
+
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+diff -ur ocaml-3.04--/otherlibs/threads/Makefile ocaml-3.04/otherlibs/threads/Makefile
+--- ocaml-3.04--/otherlibs/threads/Makefile Fri Dec 7 14:40:21 2001
++++ ocaml-3.04/otherlibs/threads/Makefile Sat Feb 2 01:48:21 2002
+@@ -96,12 +96,12 @@
+ rm -f pervasives.mli marshal.mli unix.mli
+
+ install:
+- if test -f dllthreads.so; then cp dllthreads.so $(LIBDIR)/dllthreads.so; fi
+- cp libthreads.a $(LIBDIR)/libthreads.a
+- cd $(LIBDIR); $(RANLIB) libthreads.a
+- if test -d $(LIBDIR)/threads; then : ; else mkdir $(LIBDIR)/threads; fi
+- cp thread.cmi mutex.cmi condition.cmi event.cmi threadUnix.cmi threads.cma stdlib.cma unix.cma $(LIBDIR)/threads
+- cp thread.mli mutex.mli condition.mli event.mli threadUnix.mli $(LIBDIR)
++ if test -f dllthreads.so; then cp dllthreads.so $(DESTDIR)$(LIBDIR)/dllthreads.so; fi
++ cp libthreads.a $(DESTDIR)$(LIBDIR)/libthreads.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libthreads.a
++ if test -d $(DESTDIR)$(LIBDIR)/threads; then : ; else mkdir $(DESTDIR)$(LIBDIR)/threads; fi
++ cp thread.cmi mutex.cmi condition.cmi event.cmi threadUnix.cmi threads.cma stdlib.cma unix.cma $(DESTDIR)$(LIBDIR)/threads
++ cp thread.mli mutex.mli condition.mli event.mli threadUnix.mli $(DESTDIR)$(LIBDIR)
+
+ installopt:
+
+diff -ur ocaml-3.04--/otherlibs/unix/Makefile ocaml-3.04/otherlibs/unix/Makefile
+--- ocaml-3.04--/otherlibs/unix/Makefile Fri Dec 7 14:40:24 2001
++++ ocaml-3.04/otherlibs/unix/Makefile Sat Feb 2 01:48:21 2002
+@@ -64,14 +64,14 @@
+ rm -f *.a *.o *.so
+
+ install:
+- if test -f dllunix.so; then cp dllunix.so $(LIBDIR)/dllunix.so; fi
+- cp libunix.a $(LIBDIR)/libunix.a
+- cd $(LIBDIR); $(RANLIB) libunix.a
+- cp unix.cma $(MLOBJS:.cmo=.cmi) $(MLOBJS:.cmo=.mli) $(LIBDIR)
++ if test -f dllunix.so; then cp dllunix.so $(DESTDIR)$(LIBDIR)/dllunix.so; fi
++ cp libunix.a $(DESTDIR)$(LIBDIR)/libunix.a
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) libunix.a
++ cp unix.cma $(MLOBJS:.cmo=.cmi) $(MLOBJS:.cmo=.mli) $(DESTDIR)$(LIBDIR)
+
+ installopt:
+- cp $(MLOBJS:.cmo=.cmx) unix.cmxa unix.a $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) unix.a
++ cp $(MLOBJS:.cmo=.cmx) unix.cmxa unix.a $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) unix.a
+
+ .SUFFIXES: .ml .mli .cmo .cmi .cmx
+
+diff -ur ocaml-3.04--/stdlib/Makefile ocaml-3.04/stdlib/Makefile
+--- ocaml-3.04--/stdlib/Makefile Fri Dec 7 14:40:48 2001
++++ ocaml-3.04/stdlib/Makefile Sat Feb 2 01:48:21 2002
+@@ -45,23 +45,23 @@
+ allopt-prof: stdlib.p.cmxa std_exit.p.cmx
+
+ install:
+- cp stdlib.cma std_exit.cmo *.cmi *.mli *.ml camlheader camlheader_ur $(LIBDIR)
++ cp stdlib.cma std_exit.cmo *.cmi *.mli *.ml camlheader camlheader_ur $(DESTDIR)$(LIBDIR)
+
+ installopt: installopt-default installopt-$(PROFILING)
+
+ installopt-default:
+- cp stdlib.cmxa stdlib.a std_exit.o *.cmx $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) stdlib.a
++ cp stdlib.cmxa stdlib.a std_exit.o *.cmx $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) stdlib.a
+
+ installopt-noprof:
+- rm -f $(LIBDIR)/stdlib.p.cmxa; ln -s stdlib.cmxa $(LIBDIR)/stdlib.p.cmxa
+- rm -f $(LIBDIR)/stdlib.p.a; ln -s stdlib.a $(LIBDIR)/stdlib.p.a
+- rm -f $(LIBDIR)/std_exit.p.cmx; ln -s std_exit.cmx $(LIBDIR)/std_exit.p.cmx
+- rm -f $(LIBDIR)/std_exit.p.o; ln -s std_exit.o $(LIBDIR)/std_exit.p.o
++ rm -f $(DESTDIR)$(LIBDIR)/stdlib.p.cmxa; ln -s stdlib.cmxa $(DESTDIR)$(LIBDIR)/stdlib.p.cmxa
++ rm -f $(DESTDIR)$(LIBDIR)/stdlib.p.a; ln -s stdlib.a $(DESTDIR)$(LIBDIR)/stdlib.p.a
++ rm -f $(DESTDIR)$(LIBDIR)/std_exit.p.cmx; ln -s std_exit.cmx $(DESTDIR)$(LIBDIR)/std_exit.p.cmx
++ rm -f $(DESTDIR)$(LIBDIR)/std_exit.p.o; ln -s std_exit.o $(DESTDIR)$(LIBDIR)/std_exit.p.o
+
+ installopt-prof:
+- cp stdlib.p.cmxa stdlib.p.a std_exit.p.cmx std_exit.p.o $(LIBDIR)
+- cd $(LIBDIR); $(RANLIB) stdlib.p.a
++ cp stdlib.p.cmxa stdlib.p.a std_exit.p.cmx std_exit.p.o $(DESTDIR)$(LIBDIR)
++ cd $(DESTDIR)$(LIBDIR); $(RANLIB) stdlib.p.a
+
+ stdlib.cma: $(OBJS)
+ $(CAMLC) -a -o stdlib.cma $(ALLOBJS)
+diff -ur ocaml-3.04--/tools/Makefile ocaml-3.04/tools/Makefile
+--- ocaml-3.04--/tools/Makefile Fri Dec 7 15:25:00 2001
++++ ocaml-3.04/tools/Makefile Sat Feb 2 01:48:21 2002
+@@ -38,7 +38,7 @@
+ rm -f ocamldep
+
+ install::
+- cp ocamldep $(BINDIR)/ocamldep$(EXE)
++ cp ocamldep $(DESTDIR)$(BINDIR)/ocamldep$(EXE)
+
+ # The profiler
+
+@@ -54,9 +54,9 @@
+ $(CAMLC) $(LINKFLAGS) -o ocamlcp main_args.cmo ocamlcp.cmo
+
+ install::
+- cp ocamlprof $(BINDIR)/ocamlprof$(EXE)
+- cp ocamlcp $(BINDIR)/ocamlcp$(EXE)
+- cp profiling.cmi profiling.cmo $(LIBDIR)
++ cp ocamlprof $(DESTDIR)$(BINDIR)/ocamlprof$(EXE)
++ cp ocamlcp $(DESTDIR)$(BINDIR)/ocamlcp$(EXE)
++ cp profiling.cmi profiling.cmo $(DESTDIR)$(LIBDIR)
+
+ clean::
+ rm -f ocamlprof ocamlcp
+@@ -68,7 +68,7 @@
+ chmod +x ocamlmktop
+
+ install::
+- cp ocamlmktop $(BINDIR)/ocamlmktop
++ cp ocamlmktop $(DESTDIR)$(BINDIR)/ocamlmktop
+
+ clean::
+ rm -f ocamlmktop
+@@ -79,7 +79,7 @@
+ $(CAMLC) $(LINKFLAGS) -o ocamlmklib ocamlmklib.cmo
+
+ install::
+- cp ocamlmklib $(BINDIR)/ocamlmklib
++ cp ocamlmklib $(DESTDIR)$(BINDIR)/ocamlmklib
+
+ clean::
+ rm -f ocamlmklib
+@@ -127,7 +127,7 @@
+ $(CAMLLEX) lexer301.mll
+
+ install::
+- cp scrapelabels $(LIBDIR)
++ cp scrapelabels $(DESTDIR)$(LIBDIR)
+
+ clean::
+ rm -f scrapelabels lexer301.ml
+@@ -143,7 +143,7 @@
+ $(ADDLABELS_IMPORTS) addlabels.ml
+
+ install::
+- cp addlabels $(LIBDIR)
++ cp addlabels $(DESTDIR)$(LIBDIR)
+
+ clean::
+ rm -f addlabels