1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
#########################################################################
# #
# Objective Caml #
# #
# Xavier Leroy, projet Cristal, INRIA Rocquencourt #
# #
# Copyright 1999 Institut National de Recherche en Informatique et #
# en Automatique. All rights reserved. This file is distributed #
# under the terms of the GNU Library General Public License, with #
# the special exception on linking described in file ../../LICENSE. #
# #
#########################################################################
# $Id: Makefile,v 1.6 2003/07/05 15:16:29 yminsky Exp $
include ../Makefile.local
CINCLUDES=-I`ocamlc -where` $(BDBINCLUDE)
CC=gcc
CXX=g++
CFLAGS=$(DEBCFLAGS) -Werror-implicit-function-declaration $(CINCLUDES) $(BDBLIB) -I .
CXXFLAGS=$(DEBCFLAGS) $(CINCLUDES) $(BDBLIB) -I .
MKLIB=ocamlmklib
RANLIB=ranlib
OCAMLDEP=ocamldep $(PP)
CAMLINCLUDE=
COMMONCAMLFLAGS= $(CAMLINCLUDE) $(PP) #-thread
CAMLLIBS=unix.cma str.cma mylibs.cma
OCAMLFLAGS=$(COMMONCAMLFLAGS) -g
OCAMLOPTFLAGS=$(COMMONCAMLFLAGS) -inline 40
ifndef LIBDB
LIBDB=-ldb
endif
COBJS = bdb_stubs.o
ocextr: ocextr.ml
$(OCAMLC) -o ocextr ocextr.ml
libbdb.a: $(COBJS)
$(MKLIB) -custom -o bdb $(COBJS)
bdb_stubs.o: bdb_stubs.h bdb_stubs.c
bdb.ml: ocextr bdb_stubs.c
./ocextr bdb_stubs.c > bdb.ml
bdb.cma: bdb.cmo libbdb.a
$(MKLIB) -custom -o bdb bdb.cmo -lbdb $(LIBDB)
bdb.cmxa: bdb.cmx libbdb.a
$(MKLIB) -custom -o bdb bdb.cmx -lbdb $(LIBDB)
bdbcaml: bdb.cma
ocamlmktop -o bdbcaml -custom unix.cma bdb.cma $^
partialclean:
rm -f *.cm*
clean: partialclean
rm -f *.a *.o
rm -f bdb.ml
rm -f ocextr
install:
cp libmldb.a $(LIBDIR)/libmldb.a
cd $(LIBDIR); $(RANLIB) libmldb.a
cp db.cma db.cmi bdb.mli db.mli $(LIBDIR)
installopt:
cp db.cmx db.cmxa db.a $(LIBDIR)
cd $(LIBDIR); $(RANLIB) db.a
# Common rules
.SUFFIXES: .ml .mli .cmo .cmi .cmx
.ml.o:
$(OCAMLOPT) -output-obj $(OCAMLOPTFLAGS) $<
.cpp.o:
$(CXX) $(CXXFLAGS) -c $<
.c.o:
$(CC) $(CFLAGS) -c $<
.c.obj:
$(CC) $(CFLAGS) /c $<
.ml.cmo:
$(OCAMLC) $(OCAMLFLAGS) -c $<
.mli.cmi:
$(OCAMLC) $(OCAMLFLAGS) -c $<
.ml.cmx:
$(OCAMLOPT) $(OCAMLOPTFLAGS) -c $<
# Dependencies
#dep:
# $(OCAMLDEP) $(INCLUDES) *.mli *.ml > .depend
#include .depend
# DO NOT DELETE
|