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 '/([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