129 lines
3.6 KiB
Makefile
129 lines
3.6 KiB
Makefile
#########################################################################
|
||
# #
|
||
# Objective Caml #
|
||
# #
|
||
# Damien Doligez, projet Para, 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 Q Public License version 1.0. #
|
||
# #
|
||
#########################################################################
|
||
|
||
# $Id$
|
||
|
||
CAMLRUN = ::boot:ocamlrun
|
||
CAMLC = {CAMLRUN} ::boot:ocamlc -I ::boot:
|
||
CAMLLEX = {CAMLRUN} ::boot:ocamllex
|
||
INCLUDES = -I ::utils: -I ::parsing: -I ::typing: -I ::bytecomp: -I ::asmcomp:
|
||
COMPFLAGS = {INCLUDES}
|
||
LINKFLAGS = {INCLUDES}
|
||
|
||
all Ä ocamldep ocamldumpobj
|
||
|
||
# The dependency generator
|
||
|
||
CAMLDEP_IMPORTS = misc.cmo formatmsg.cmo config.cmo clflags.cmo terminfo.cmo ¶
|
||
linenum.cmo warnings.cmo location.cmo longident.cmo pstream.cmo ¶
|
||
syntaxerr.cmo parser.cmo lexer.cmo parse.cmo
|
||
|
||
CAMLDEP = ocamldep.cmo
|
||
|
||
ocamldep Ä {CAMLDEP}
|
||
{CAMLC} {LINKFLAGS} -o ocamldep {CAMLDEP_IMPORTS} {CAMLDEP}
|
||
|
||
clean ÄÄ
|
||
delete -i ocamldep
|
||
|
||
install ÄÄ
|
||
duplicate -y OCamlDep "{BINDIR}OCamlDep"
|
||
|
||
# The profiler (not available on MacOS for the moment)
|
||
#
|
||
#CSLPROF = ocamlprof.cmo
|
||
#CSLPROF_IMPORTS = misc.cmo formatmsg.cmo config.cmo clflags.cmo terminfo.cmo ¶
|
||
# linenum.cmo warnings.cmo location.cmo longident.cmo pstream.cmo ¶
|
||
# syntaxerr.cmo parser.cmo lexer.cmo parse.cmo
|
||
#
|
||
#ocamlprof Ä {CSLPROF} profiling.cmo
|
||
# {CAMLC} {LINKFLAGS} -o ocamlprof {CSLPROF_IMPORTS} {CSLPROF}
|
||
#
|
||
#install ÄÄ
|
||
# duplicate -y ocamlprof "{BINDIR}ocamlprof"
|
||
# duplicate -y ocamlcp "{BINDIR}ocamlcp"
|
||
# duplicate -y profiling.cmi profiling.cmo "{LIBDIR}"
|
||
#
|
||
#clean ÄÄ
|
||
# delete -i ocamlprof
|
||
|
||
# To make custom toplevels
|
||
|
||
install ÄÄ
|
||
duplicate -y ocamlmktop.tpl "{BINDIR}ocamlmktop"
|
||
duplicate -y ocamlc-custom "{BINDIR}ocamlc-custom"
|
||
|
||
# The bytecode disassembler
|
||
|
||
DUMPOBJ = opnames.cmo dumpobj.cmo
|
||
|
||
ocamldumpobj Ä {DUMPOBJ}
|
||
{CAMLC} {LINKFLAGS} -o ocamldumpobj ¶
|
||
misc.cmo formatmsg.cmo tbl.cmo config.cmo ident.cmo opcodes.cmo ¶
|
||
{DUMPOBJ}
|
||
|
||
clean ÄÄ
|
||
delete -i OCamlDumpObj
|
||
|
||
opnames.ml Ä ::byterun:instruct.h
|
||
streamedit -e '/¶/¶*/ delete' ¶
|
||
-e '/enum (Å)¨0 {/ replace // "let names_of_" ¨0 "= [|"' ¶
|
||
-e '/};°/ replace // "|]"' ¶
|
||
-e '/<2F>([A-Z][A-Z_0-9a-z]*)¨0/ replace // "¶"" ¨0 "¶"" -c °' ¶
|
||
-e '/,/ replace // ";" -c °' ¶
|
||
::byterun:instruct.h > opnames.ml
|
||
|
||
clean ÄÄ
|
||
delete -i opnames.ml
|
||
|
||
beforedepend ÄÄ opnames.ml
|
||
|
||
# Dump .cmx files
|
||
|
||
dumpapprox Ä dumpapprox.cmo
|
||
{CAMLC} {LINKFLAGS} -o dumpapprox config.cmo dumpapprox.cmo
|
||
|
||
clean ÄÄ
|
||
delete -i dumpapprox
|
||
|
||
# Print imported interfaces for .cmo files
|
||
|
||
objinfo Ä objinfo.cmo
|
||
{CAMLC} {LINKFLAGS} -o objinfo config.cmo objinfo.cmo
|
||
|
||
clean ÄÄ
|
||
delete -i objinfo
|
||
|
||
# Common stuff
|
||
|
||
.cmo Ä .ml
|
||
{CAMLC} -c {COMPFLAGS} {default}.ml
|
||
|
||
.cmi Ä .mli
|
||
{CAMLC} -c {COMPFLAGS} {default}.mli
|
||
|
||
clean ÄÄ
|
||
delete -i Å.cm[io] || set status 0
|
||
|
||
depend Ä beforedepend
|
||
{CAMLRUN} :ocamldep {INCLUDES} Å.mli Å.ml > Makefile.Mac.depend
|
||
|
||
# Scan object files for required primitives
|
||
|
||
PRIMREQ=primreq.cmo
|
||
|
||
primreq Ä {PRIMREQ}
|
||
{CAMLC} {LINKFLAGS} -o primreq config.cmo {PRIMREQ}
|
||
|
||
clean ÄÄ
|
||
delete -i primreq
|