From: Mike Furr <mfurr@debian.org>
Date: Tue, 6 Oct 2009 19:15:45 +0200
Subject: [PATCH] Add $(OCAMLBEST) targets and fix build and install process

---
 Makefile.in |   54 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index b6bcbe9..d217a3e 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -16,7 +16,7 @@ OCAMLOPT = @OCAMLOPT@
 OCAMLLEX = @OCAMLLEX@
 OCAMLYACC= @OCAMLYACC@
 
-INCLUDES = -I mlgmp
+INCLUDES = -I +gmp
 BFLAGS = -g $(INCLUDES)
 OFLAGS = -unsafe $(INCLUDES)
 
@@ -31,19 +31,20 @@ CRCMX = $(CRCMO:.cmo=.cmx)
 CMA = creal.cma
 CMXA = creal.cmxa
 
-GMPCMA = mlgmp/gmp.cma
-GMPCMXA = mlgmp/gmp.cmxa
+GMPCMA = gmp.cma
+GMPCMXA = gmp.cmxa
 
-all: @OCAMLBEST@ test.@OCAMLBEST@ test_cr.@OCAMLBEST@ ecalc.@OCAMLBEST@
+OCAMLBEST = @OCAMLBEST@
+all: $(OCAMLBEST) test.$(OCAMLBEST) test_cr.$(OCAMLBEST) ecalc.$(OCAMLBEST)
 
-byte: $(GMPCMA) $(CMA) $(CRCMO) cmpf.cmo
-opt:  $(GMPCMA) $(CMA) $(GMPCMXA) $(CMXA) $(CRCMO) $(CRCMX) cmpf.cmx
+byte: $(CMA) $(CRCMO) cmpf.cmo
+opt:  $(CMA) $(CMXA) $(CRCMO) $(CRCMX) cmpf.cmx
 
-$(CMA): libcreal.a $(GMPCMA) $(CMO)
-	ocamlmklib -linkall -o creal $(GMPCMA) $(CMO) -lgmp
+$(CMA): $(CMO)
+	$(OCAMLC) -a -o $(CMA) $(CMO)
 
-$(CMXA):libcreal.a $(GMPCMX) $(CMX)
-	ocamlmklib -linkall -o creal $(GMPCMX) $(CMX) -lgmp
+$(CMXA): $(CMX)
+	$(OCAMLOPT) -a -o $(CMXA) $(CMX)
 
 libcreal.a: mlgmp/mlgmp_z.o mlgmp/mlgmp_q.o mlgmp/mlgmp_misc.o
 	ocamlmklib -oc creal $^ -lgmp
@@ -68,19 +69,19 @@ TESTCMO=test.cmo
 TESTCMX=$(TESTCMO:.cmo=.cmx)
 
 test.opt: $(CMXA) $(TESTCMX)
-	$(OCAMLOPT) $(OFLAGS) -o $@ $^ -cclib "-L."
+	$(OCAMLOPT) $(OFLAGS) $(INCLUDES) $(GMPCMXA) -o $@ $^ -cclib "-L."
 
 test.byte: $(CMA) $(TESTCMO)
-	$(OCAMLC) $(BFLAGS) -o $@ $^ -cclib "-L."
+	$(OCAMLC) $(BFLAGS) $(INCLUDES) $(GMPCMA) -o $@ $^ -cclib "-L."
 
 TESTCRCMO=test_cr.cmo
 TESTCRCMX=$(TESTCRCMO:.cmo=.cmx)
 
 test_cr.opt: $(CMXA) $(TESTCRCMX)
-	$(OCAMLOPT) $(OFLAGS) -o $@ $^ -cclib "-L."
+	$(OCAMLOPT) $(OFLAGS) $(INCLUDES) $(GMPCMXA) -o $@ $^ -cclib "-L."
 
 test_cr.byte: $(CMA) $(TESTCRCMO)
-	$(OCAMLC) $(BFLAGS) -o $@ $^ -cclib "-L."
+	$(OCAMLC) $(BFLAGS) $(INCLUDES) $(GMPCMA) -o $@ $^ -cclib "-L."
 
 md.opt: $(CMXA) md.ml
 	$(OCAMLOPT) $(OFLAGS) -o $@ $^ -cclib "-L."
@@ -100,10 +101,10 @@ CALCCMO=calc.cmo
 CALCCMX=$(CALCCMO:.cmo=.cmx)
 
 ecalc.opt: $(CMXA) $(CALCCMX)
-	$(OCAMLOPT) $(OFLAGS) -o $@ $^ -cclib "-L."
+	$(OCAMLOPT) $(OFLAGS) $(INCLUDES) $(GMPCMXA) -o $@ $^ -cclib "-L."
 
 ecalc.byte: $(CMA) $(CALCCMO)
-	$(OCAMLC) $(BFLAGS) -o $@ $^ -cclib "-L."
+	$(OCAMLC) $(BFLAGS) $(INCLUDES) $(GMPCMA) -o $@ $^ -cclib "-L."
 
 GENERATED=calc.ml
 
@@ -117,8 +118,8 @@ CREALPP=creal_pp.cmo install_creal_pp.cmo
 ocamlcreal: creal.cma $(GMPPP) $(CREALPP)
 	ocamlmktop -o $@ $^ -cclib "-L."
 
-test: test.opt
-	./test.opt -check -p 50
+test: test.$(OCAMLBEST)
+	./test.$(OCAMLBEST) -check -p 50
 
 bench: test.opt
 	echo -n `date +"%a %d/%m/%Y %H:%M"` >> bench.log
@@ -130,28 +131,28 @@ bench: test.opt
 GMPBYTEFILES = mlgmp/gmp.cma mlgmp/gmp.cmi mlgmp/gmp.mli mlgmp/libmlgmp.a
 GMPOPTFILES = mlgmp/gmp.cmxa mlgmp/gmp.a
 BYTEFILES = $(CMA) $(CMI) $(MLI)
-OPTFILES = $(CMXA) creal.a libcreal.a
+OPTFILES = $(CMXA) creal.a
 
 LIBDIR = @OCAMLLIB@/creal
 
-install: install-prog install-lib install-toplevels
+install: install-lib
 
 install-lib: install-lib-@OCAMLBEST@
 
 install-prog: install-prog-@OCAMLBEST@
 
 install-lib-byte:
-	mkdir -p $(LIBDIR)
-	cp -f $(BYTEFILES) $(GMPBYTEFILES) $(LIBDIR)
+	mkdir -p $(DESTDIR)$(LIBDIR)
+	cp -f $(BYTEFILES) $(DESTDIR)$(LIBDIR)
 
 install-prog-byte:
 	mkdir -p $(BINDIR)
 	cp ecalc.byte $(BINDIR)/ecalc
 
 install-lib-opt:
-	mkdir -p $(LIBDIR)
-	cp -f $(BYTEFILES) $(GMPBYTEFILES) $(LIBDIR)
-	cp -f $(OPTFILES) $(GMPOPTFILES) $(LIBDIR)
+	mkdir -p $(DESTDIR)$(LIBDIR)
+	cp -f $(BYTEFILES) $(DESTDIR)$(LIBDIR)
+	cp -f $(OPTFILES) $(DESTDIR)$(LIBDIR)
 
 install-prog-opt:
 	mkdir -p $(BINDIR)
@@ -263,10 +264,11 @@ clean:
 	rm -f creal.tex creal.dvi creal.ps creal.ps.gz
 	rm -f test.byte test.opt ecalc.byte ecalc.opt
 	rm -f ocamlgmp ocamlcreal
+	rm -f test_cr.byte test_cr.opt
 
 depend: $(GENERATED)
 	rm -f .depend
-	@OCAMLDEP@ $(INCLUDES) mlgmp/*.mli mlgmp/*.ml *.mli *.ml > .depend
+	@OCAMLDEP@ $(INCLUDES) *.mli *.ml > .depend
 
 include .depend
 
-- 
