######################################################################### # # # 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.5 2001/12/07 13:39:50 xleroy Exp $ CINCLUDES=-I$(CAMLLIB) ifeq ($(OSTYPE),cygwin) CC=gcc CXX=g++ CFLAGS=-O3 -Werror-implicit-function-declaration $(CINCLUDES) -I . CXXFLAGS=-O3 $(CINCLUDES) -I . OCAMLC=ocamlc.opt OCAMLOPT=ocamlopt.opt else CC=gcc CXX=g++ CFLAGS=-O3 -Werror-implicit-function-declaration $(CINCLUDES) -I . CXXFLAGS=-O3 $(CINCLUDES) -I . OCAMLC=ocamlc.opt OCAMLOPT=ocamlopt.opt endif #PP=-pp "cpp -traditional -UNTL" RANLIB=ranlib OCAMLDEP=ocamldep $(PP) CAMLINCLUDE=-I $(HOME)/arch/noarch/lib/ocaml -I $(HOME)/arch/x86-Linux/lib/ocaml COMMONCAMLFLAGS= $(CAMLINCLUDE) $(PP) #-thread CAMLLIBS=unix.cma str.cma mylibs.cma OCAMLFLAGS=$(COMMONCAMLFLAGS) -g OCAMLOPTFLAGS=$(COMMONCAMLFLAGS) -inline 40 COBJS = bdb_stubs.o libmlbdb.a: $(COBJS) rm -rf libmlbdb.a ar rc libmlbdb.a $(COBJS) $(RANLIB) libmlbdb.a bdb.ml: bdb_stubs.c ocextr bdb_stubs.c > bdb.ml test: bdb.cma test.ml $(OCAMLC) $(OCAMLFLAGS) $(CAMLLIBS) -o test bdb.cma test.ml bdb.cma: bdb.cmo libmlbdb.a $(OCAMLC) $(OCAMLFLAGS) -a -o bdb.cma -custom bdb.cmo -cclib -lmlbdb -cclib -ldb -ccopt "-L ." bdb.cmxa: bdb.cmx $(OCAMLOPT) $(OCAMLOPTFLAGS) -a -o bdb.cmxa bdb.cmx -cclib -lmlbdb -cclib -ldb bdbcaml: bdb.cma ocamlmktop -o bdbcaml -custom unix.cma $^ partialclean: rm -f *.cm* clean: partialclean rm -f *.a *.o install: cp libmldb.a $(LIBDIR)/libmldb.a cd $(LIBDIR); $(RANLIB) libmldb.a cp db.cma db.cmi 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) *.ml *.mli > .depend include .depend # DO NOT DELETE