https://github.com/charguer/ocaml
Raw File
Tip revision: e1c05b24714d3698b7f30f65904cc317eddab022 authored by No author on 17 December 1999, 13:28:11 UTC
This commit was manufactured by cvs2svn to create tag 'ocaml299'.
Tip revision: e1c05b2
Makefile.Mac
#########################################################################
#                                                                       #
#                            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 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"

# 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} {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 keywords.r -o keywords

clean ──
    delete -i keywords
back to top