blob: 0a9a079062e217cf453249f6dd5b4762d72f830f (
plain)
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
#########################################################################
# #
# 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 objinfo primreq keywords
# The dependency generator
CAMLDEP_IMPORTS = misc.cmo config.cmo clflags.cmo terminfo.cmo ¶
linenum.cmo warnings.cmo location.cmo longident.cmo ¶
syntaxerr.cmo parser.cmo lexer.cmo parse.cmo
CAMLDEP = depend.cmo ocamldep.cmo
ocamldep Ä depend.cmi {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 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"
# The bytecode disassembler
DUMPOBJ = opnames.cmo dumpobj.cmo
ocamldumpobj Ä {DUMPOBJ}
{CAMLC} {LINKFLAGS} -o ocamldumpobj ¶
misc.cmo tbl.cmo config.cmo ident.cmo opcodes.cmo ¶
bytesections.cmo {DUMPOBJ}
clean ÄÄ
delete -i ocamldumpobj
install ÄÄ
duplicate -y ocamldumpobj "{BINDIR}ocamldumpobj"
opnames.ml Ä ::byterun:instruct.h
streamedit -e '/¶/¶*/ delete' ¶
-e '/enum (Å)¨0 {/ replace // "let names_of_" ¨0 "= [|"' ¶
-e '/};°/ replace // "|]"' ¶
-e '/�([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} {depdir}{default}.ml
.cmi Ä .mli
{CAMLC} -c {COMPFLAGS} {depdir}{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
{CAMLC} {LINKFLAGS} -o primreq config.cmo primreq.cmo
clean ÄÄ
delete -i primreq
# Resources for keyword-coloring for MPW Shell
keywords Ä keywords.r
rez -t rsrc -c RSED -o keywords keywords.r
clean ÄÄ
delete -i keywords
|