######################################################################### # # # 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 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 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