File: Makefile

package info (click to toggle)
sks 1.1.5-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,076 kB
  • ctags: 3,243
  • sloc: ml: 15,262; ansic: 1,069; makefile: 346; sh: 284
file content (108 lines) | stat: -rw-r--r-- 2,596 bytes parent folder | download | duplicates (2)
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