1 #########################################################################
5 # Xavier Leroy, projet Cristal, INRIA Rocquencourt #
7 # Copyright 1999 Institut National de Recherche en Informatique et #
8 # en Automatique. All rights reserved. This file is distributed #
9 # under the terms of the GNU Library General Public License, with #
10 # the special exception on linking described in file ../../LICENSE. #
12 #########################################################################
14 # $Id: Makefile 8868 2008-04-16 06:50:31Z frisch $
16 # Makefile for the dynamic link library
18 include ../../config/Makefile
20 CAMLC=../../boot/ocamlrun ../../ocamlc
21 CAMLOPT=../../ocamlcompopt.sh
22 INCLUDES=-I ../../utils -I ../../typing -I ../../bytecomp
23 COMPFLAGS=-warn-error A -I ../../stdlib $(INCLUDES)
25 OBJS=dynlinkaux.cmo dynlink.cmo
28 ../../utils/misc.cmo ../../utils/config.cmo ../../utils/clflags.cmo \
29 ../../utils/tbl.cmo ../../utils/consistbl.cmo \
30 ../../utils/terminfo.cmo ../../utils/warnings.cmo \
31 ../../parsing/asttypes.cmi ../../parsing/linenum.cmo \
32 ../../parsing/location.cmo ../../parsing/longident.cmo \
33 ../../typing/ident.cmo ../../typing/path.cmo \
34 ../../typing/primitive.cmo ../../typing/types.cmo \
35 ../../typing/btype.cmo ../../typing/subst.cmo ../../typing/predef.cmo \
36 ../../typing/datarepr.cmo ../../typing/env.cmo \
37 ../../bytecomp/lambda.cmo ../../bytecomp/instruct.cmo \
38 ../../bytecomp/cmo_format.cmi ../../bytecomp/opcodes.cmo \
39 ../../bytecomp/runtimedef.cmo ../../bytecomp/bytesections.cmo \
40 ../../bytecomp/dll.cmo ../../bytecomp/meta.cmo \
41 ../../bytecomp/symtable.cmo
45 all: dynlink.cma extract_crc
50 $(CAMLC) $(COMPFLAGS) -ccopt "$(NATDYNLINKOPTS)" -a -o dynlink.cma $(OBJS)
52 dynlink.cmxa: $(NATOBJS)
53 $(CAMLOPT) $(COMPFLAGS) -ccopt "$(NATDYNLINKOPTS)" -a -o dynlink.cmxa $(NATOBJS)
55 dynlinkaux.cmo: $(COMPILEROBJS)
56 $(CAMLC) $(COMPFLAGS) -pack -o dynlinkaux.cmo $(COMPILEROBJS)
58 dynlinkaux.cmi: dynlinkaux.cmo
60 dynlink.cmx: dynlink.cmi natdynlink.ml
61 cp natdynlink.ml dynlink.mlopt
62 $(CAMLOPT) -c $(COMPFLAGS) -impl dynlink.mlopt
65 extract_crc: dynlink.cma extract_crc.cmo
66 $(CAMLC) $(COMPFLAGS) -o extract_crc dynlink.cma extract_crc.cmo
69 cp dynlink.cmi dynlink.cma dynlink.mli $(LIBDIR)
70 cp extract_crc $(LIBDIR)/extract_crc$(EXE)
73 cp $(NATOBJS) dynlink.cmxa dynlink.$(A) $(LIBDIR)
74 cd $(LIBDIR); $(RANLIB) dynlink.$(A)
77 rm -f extract_crc *.cm[ioax] *.cmxa
80 rm -f *.$(A) *.$(O) *.so *.dll dynlink.mlopt
82 .SUFFIXES: .ml .mli .cmo .cmi .cmx
85 $(CAMLC) -c $(COMPFLAGS) $<
88 $(CAMLC) -c $(COMPFLAGS) $<
91 $(CAMLOPT) -c $(COMPFLAGS) $<
95 dynlink.cmo: dynlinkaux.cmi dynlink.cmi
96 extract_crc.cmo: dynlink.cmi