summaryrefslogtreecommitdiff
path: root/Makefile.Mac
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.Mac')
-rw-r--r--Makefile.Mac488
1 files changed, 0 insertions, 488 deletions
diff --git a/Makefile.Mac b/Makefile.Mac
deleted file mode 100644
index 9fa3f69b66..0000000000
--- a/Makefile.Mac
+++ /dev/null
@@ -1,488 +0,0 @@
-#########################################################################
-# #
-# 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$
-
-# The main Makefile
-
-MacVersion = "Mac{MAJOR}.{MINOR}.{BUGFIX}{STAGE}{REV}"
-
-CAMLC = :boot:ocamlrun :boot:ocamlc -I :boot:
-COMPFLAGS = {INCLUDES}
-LINKFLAGS =
-CAMLYACC = :boot:ocamlyacc
-YACCFLAGS =
-CAMLLEX = :boot:ocamlrun :boot:ocamllex
-CAMLDEP = :boot:ocamlrun :tools:ocamldep
-DEPFLAGS = {INCLUDES}
-CAMLRUN = :byterun:ocamlrun
-
-INCLUDES = -I :utils: -I :parsing: -I :typing: -I :bytecomp: ¶
- -I :driver: -I :toplevel:
-
-UTILS = :utils:misc.cmo :utils:tbl.cmo :utils:config.cmo ¶
- :utils:clflags.cmo :utils:terminfo.cmo :utils:ccomp.cmo ¶
- :utils:warnings.cmo
-
-PARSING = :parsing:linenum.cmo :parsing:location.cmo :parsing:longident.cmo ¶
- :parsing:syntaxerr.cmo :parsing:parser.cmo ¶
- :parsing:lexer.cmo :parsing:parse.cmo :parsing:printast.cmo
-
-TYPING = :typing:ident.cmo :typing:path.cmo ¶
- :typing:primitive.cmo :typing:types.cmo ¶
- :typing:btype.cmo ¶
- :typing:subst.cmo :typing:predef.cmo ¶
- :typing:datarepr.cmo :typing:env.cmo ¶
- :typing:typedtree.cmo ¶
- :typing:ctype.cmo :typing:printtyp.cmo ¶
- :typing:includeclass.cmo ¶
- :typing:mtype.cmo :typing:includecore.cmo ¶
- :typing:includemod.cmo :typing:parmatch.cmo ¶
- :typing:typetexp.cmo :typing:typecore.cmo ¶
- :typing:typedecl.cmo :typing:typeclass.cmo ¶
- :typing:typemod.cmo
-
-COMP = :bytecomp:lambda.cmo :bytecomp:printlambda.cmo ¶
- :bytecomp:typeopt.cmo :bytecomp:switch.cmo :bytecomp:matching.cmo ¶
- :bytecomp:translobj.cmo :bytecomp:translcore.cmo ¶
- :bytecomp:translclass.cmo :bytecomp:translmod.cmo ¶
- :bytecomp:simplif.cmo :bytecomp:runtimedef.cmo
-
-BYTECOMP = :bytecomp:meta.cmo :bytecomp:instruct.cmo :bytecomp:bytegen.cmo ¶
- :bytecomp:printinstr.cmo :bytecomp:opcodes.cmo :bytecomp:emitcode.cmo ¶
- :bytecomp:bytesections.cmo :bytecomp:dll.cmo ¶
- :bytecomp:symtable.cmo :bytecomp:bytelink.cmo :bytecomp:bytelibrarian.cmo
-
-DRIVER = :driver:errors.cmo :driver:compile.cmo :driver:main_args.cmo ¶
- :driver:main.cmo
-
-TOPLEVEL = :driver:errors.cmo :driver:compile.cmo ¶
- :toplevel:genprintval.cmo :toplevel:toploop.cmo ¶
- :toplevel:trace.cmo :toplevel:topdirs.cmo
-
-TOPLEVELMAIN = :toplevel:topmain.cmo
-
-COMPOBJS = {UTILS} {PARSING} {TYPING} {COMP} {BYTECOMP} {DRIVER}
-
-TOPLIB = {UTILS} {PARSING} {TYPING} {COMP} {BYTECOMP} {TOPLEVEL}
-
-EXPUNGEOBJS = :utils:misc.cmo :utils:tbl.cmo ¶
- :utils:config.cmo :utils:clflags.cmo ¶
- :typing:ident.cmo :typing:path.cmo ¶
- :typing:types.cmo :typing:btype.cmo :typing:predef.cmo ¶
- :bytecomp:runtimedef.cmo :bytecomp:bytesections.cmo ¶
- :bytecomp:dll.cmo :bytecomp:symtable.cmo ¶
- :toplevel:expunge.cmo
-
-PERVASIVES = arg array buffer callback char digest filename format gc hashtbl ¶
- lexing list map obj parsing pervasives printexc printf queue random ¶
- set sort stack string stream sys oo genlex topdirs toploop weak lazy ¶
- marshal int32 int64 nativeint outcometree
-
-# Recompile the system using the bootstrap compiler
-all Ä runtime ocamlc ocamllex ocamlyacc ocamltools library ocaml ¶
- otherlibraries camlp4out maccaml
-
-# The compilation of ocaml will fail if the runtime has changed.
-# Never mind, just do make bootstrap to reach fixpoint again.
-
-# Compile everything the first time
-world Ä
- domake coldstart
- domake all
-
-# Complete bootstrapping cycle
-bootstrap Ä
- # Save the original bootstrap compiler
- domake backup
- # Promote the new compiler but keep the old runtime
- # This compiler runs on :boot:ocamlrun and produces bytecode for
- # :byterun:ocamlrun
- domake promote-cross
- # Rebuild ocamlc and ocamllex (run on :byterun:ocamlrun)
- domake partialclean
- domake ocamlc ocamllex
- # Rebuild the library (using :byterun:ocamlrun :ocamlc)
- domake library-cross
- # Promote the new compiler and the new runtime
- domake promote
- # Rebuild everything, including ocaml and the tools
- domake partialclean
- domake all
- # Check if fixpoint reached
- domake compare
-
-LIBFILES = :stdlib.cma :std_exit.cmo :Å.cmi camlheader
-
-# Start up the system from the distribution compiler
-coldstart Ä
- directory :byterun; domake all; directory ::
- duplicate -y :byterun:ocamlrun :boot:ocamlrun
- directory :yacc; domake all; directory ::
- duplicate -y :yacc:ocamlyacc :boot:ocamlyacc
- directory :stdlib
- domake -d COMPILER=::boot:ocamlc all
- duplicate -y {LIBFILES} ::boot:
- directory ::
-
-# Build the core system: the minimum needed to make depend and bootstrap
-core Ä runtime ocamlc ocamllex ocamlyacc ocamltools library
-
-# Save the current bootstrap compiler
-backup Ä
- if `exists -d :boot:Saved:` == ""
- newfolder :boot:Saved:
- end
- move :boot:Saved: :boot:Saved.prev:
- newfolder :boot:Saved:
- move :boot:Saved.prev: :boot:Saved:Saved.prev:
- duplicate -y :boot:ocamlrun :boot:Saved:
- move :boot:ocamlc :boot:ocamllex :boot:ocamlyacc :boot:Saved:
- directory :boot; duplicate -y {LIBFILES} :Saved:; directory ::
-
-# Promote the newly compiled system to the rank of cross compiler
-# (Runs on the old runtime, produces code for the new runtime)
-promote-cross Ä
- duplicate -y :ocamlc :boot:ocamlc
- duplicate -y :lex:ocamllex :boot:ocamllex
- duplicate -y :yacc:ocamlyacc :boot:ocamlyacc
- directory :stdlib
- duplicate -y {LIBFILES} ::boot: || set status 0
- directory ::
-
-# Promote the newly compiled system to the rank of bootstrap compiler
-# (Runs on the new runtime, produces code for the new runtime)
-promote Ä promote-cross
- duplicate -y :byterun:ocamlrun :boot:ocamlrun
-
-clean ÄÄ
- delete -i :boot:Å.cm[aio] || set status 0
- delete -i :boot:camlheader :boot:ocamlrun :boot:ocamlyacc
-
-# Restore the saved bootstrap compiler if a problem arises
-restore Ä
- move -y :boot:Saved:Å :boot:
- delete -y :boot:Saved:
- move -y :boot:Saved.prev: :boot:Saved:
-
-# Check if fixpoint reached
-compare Ä
- set exit 0
- equal -q :boot:ocamlc :ocamlc && equal -q :boot:ocamllex :lex:ocamllex
- if {status}
- echo "¶nFixpoint not reached, try one more bootstrapping cycle.¶n"
- else
- echo "¶nFixpoint reached, bootstrap succeeded.¶n"
- end
-
-# Remove old bootstrap compilers
-cleanboot Ä
- delete -i -y :boot:Saved:Saved.prev:Å || set status 0
-
-
-install Ä $OutOfDate
- flush
- for i in "{BINDIR}" "{LIBDIR}" "{APPLIDIR}" "{APPLIDIR}stdlib:"
- if "`exists -d "{i}"`" == ""
- newfolder "{i}"
- end
- end
- directory :byterun:
- domake install
- directory ::
- duplicate -y :ocamlc "{BINDIR}ocamlc"
- duplicate -y :ocaml "{BINDIR}ocaml"
- directory :stdlib:
- domake install
- directory ::
- duplicate -y :lex:ocamllex "{BINDIR}ocamllex"
- duplicate -y :yacc:ocamlyacc "{BINDIR}ocamlyacc"
- duplicate -y toplevellib.cma expunge "{LIBDIR}"
- duplicate -y :typing:outcometree.cmi :typing:outcometree.mli "{LIBDIR}"
- duplicate -y :toplevel:topmain.cmo "{LIBDIR}topmain.cmo"
- duplicate -y :toplevel:toploop.cmi :toplevel:topdirs.cmi "{LIBDIR}"
- directory :tools:
- domake install
- directory ::
- directory :camlp4:
- execute :config:config.mpw
- domake install -d LIBDIR="{LIBDIR}camlp4:"
- directory ::
- duplicate -y :man:ocaml.help "{HELPFILE}"
- for i in {OTHERLIBRARIES}
- directory :otherlibs:{i}
- domake install
- directory :::
- end
- duplicate -y "{LIBDIR}"Å "{APPLIDIR}stdlib:"
- duplicate -y :test:Moretest:graph_example.ml "{APPLIDIR}"
- directory :maccaml:
- domake install
- directory ::
-
-clean ÄÄ partialclean
-
-
-# The compiler
-
-ocamlc Ä {COMPOBJS}
- {CAMLC} {LINKFLAGS} -o ocamlc {COMPOBJS}
-
-partialclean ÄÄ
- delete -i ocamlc
-
-
-# The toplevel
-
-ocaml Ä toplevellib.cma {TOPLEVELMAIN} expunge
- {CAMLC} {LINKFLAGS} -linkall -o ocaml.tmp toplevellib.cma {TOPLEVELMAIN}
- {CAMLRUN} :expunge ocaml.tmp ocaml {PERVASIVES} || set status 0
- delete -i ocaml.tmp
-
-toplevellib.cma Ä {TOPLIB}
- {CAMLC} -a -o toplevellib.cma {TOPLIB}
-
-partialclean ÄÄ
- delete -i ocaml toplevellib.cma
-
-
-# The configuration file
-
-:utils:config.ml Ä :utils:config.mlp :config:config.Mac
- delete -i :utils:config.ml
- streamedit -e "/let version =/ replace /¶¶¶"°/ ¶"/{MacVersion}¶¶¶"¶"" ¶
- -e "1,$ replace /%%BYTERUN%%/ ¶"{BINDIR}ocamlrun¶"" ¶
- -e "1,$ replace /%%LIBDIR%%/ ¶"{LIBDIR}¶"" ¶
- -e "1,$ replace /%%EXT_OBJ%%/ '.o'" ¶
- -e "1,$ replace /%%EXT_LIB%%/ '.x'" ¶
- :utils:config.mlp > :utils:config.ml
-
-partialclean ÄÄ
- delete -i :utils:config.ml
-
-beforedepend ÄÄ :utils:config.ml
-
-
-# The parser
-
-:parsing:parser.mli Ä :parsing:parser.ml
- echo -n
-
-:parsing:parser.ml Ä :parsing:parser.mly
- {CAMLYACC} {YACCFLAGS} :parsing:parser.mly
-
-partialclean ÄÄ
- delete -i :parsing:parser.mli :parsing:parser.ml :parsing:parser.output
-
-beforedepend ÄÄ :parsing:parser.mli :parsing:parser.ml
-
-
-# The lexer
-
-:parsing:lexer.ml Ä :parsing:lexer.mll
- streamedit -e "1,$ replace /¶¶''\223'¶¶'-¶¶''\246'¶¶'/ '' -c °" ¶
- -e "1,$ replace /¶¶''\248'¶¶'-¶¶''\255'¶¶'/ '' -c °" ¶
- -e "1,$ replace /¶¶''\192'¶¶'-¶¶''\214'¶¶'/ '' -c °" ¶
- -e "1,$ replace /¶¶''\216'¶¶'-¶¶''\222'¶¶'/ '' -c °" ¶
- -e "1,$ replace /¶¶''\216'¶¶'-¶¶''\246'¶¶'/ '' -c °" ¶
- <:parsing:lexer.mll >:parsing:lexer_tmp.mll
- {CAMLLEX} :parsing:lexer_tmp.mll
- rename -y :parsing:lexer_tmp.ml :parsing:lexer.ml
-
-partialclean ÄÄ
- delete -i :parsing:lexer.ml
-
-beforedepend ÄÄ :parsing:lexer.ml
-
-
-# The auxiliary lexer for counting line numbers
-
-:parsing:linenum.ml Ä :parsing:linenum.mll
- {CAMLLEX} :parsing:linenum.mll
-
-partialclean ÄÄ
- delete -i :parsing:linenum.ml
-
-beforedepend ÄÄ :parsing:linenum.ml
-
-
-# The numeric opcodes
-
-:bytecomp:opcodes.ml Ä :byterun:instruct.h
- :tools:make-opcodes.Mac :byterun:instruct.h :bytecomp:opcodes.ml
-
-partialclean ÄÄ
- delete -i :bytecomp:opcodes.ml
-
-beforedepend ÄÄ :bytecomp:opcodes.ml
-
-
-# The predefined exceptions and primitives
-
-:byterun:primitives Ä
- directory :byterun:
- domake primitives
- directory ::
-
-:bytecomp:runtimedef.ml Ä :byterun:primitives :byterun:fail.h
- (echo 'let builtin_exceptions = [|' ; ¶
- streamedit -d -e '/¶/¶* (¶"[A-Za-z_]*¶")¨0 ¶*¶/°/ print ¨0 ";"' :byterun:fail.h | ¶
- streamedit -e '$ replace /;°/ "|]"'; ¶
- echo 'let builtin_primitives = [|'; ¶
- streamedit -e "1,$ replace /(Å)¨0/ ' ¶"' ¨0 '¶";'" -e '$ replace /;°/ "|]"' :byterun:primitives; ¶
- ) > :bytecomp:runtimedef.ml
-
-partialclean ÄÄ
- delete -i :bytecomp:runtimedef.ml
-
-beforedepend ÄÄ :bytecomp:runtimedef.ml
-
-
-# The "expunge" utility
-
-expunge Ä {EXPUNGEOBJS}
- {CAMLC} {LINKFLAGS} -o expunge {EXPUNGEOBJS}
-
-partialclean ÄÄ
- delete -i expunge
-
-
-# The runtime system for the bytecode compiler
-
-runtime Ä
- directory :byterun:; domake all; directory ::
-clean ÄÄ
- directory :byterun:; domake clean; directory ::
-alldepend ÄÄ
- directory :byterun:; domake depend; directory ::
-
-
-# The library
-
-library Ä ocamlc
- directory :stdlib; domake all; directory ::
-library-cross Ä
- directory :stdlib; domake -d RUNTIME=::byterun:ocamlrun all; directory ::
-partialclean ÄÄ
- directory :stdlib; domake clean; directory ::
-alldepend ÄÄ
- directory :stdlib; domake depend; directory ::
-
-
-# The lexer and parser generators
-
-ocamllex Ä ocamlyacc ocamlc
- directory :lex; domake all; directory ::
-partialclean ÄÄ
- directory :lex; domake clean; directory ::
-alldepend ÄÄ
- directory :lex; domake depend; directory ::
-
-ocamlyacc Ä
- directory :yacc; domake all; directory ::
-clean ÄÄ
- directory :yacc; domake clean; directory ::
-
-
-# Tools
-
-ocamltools Ä ocamlc ocamlyacc ocamllex
- directory :tools; domake all; directory ::
-partialclean ÄÄ
- directory :tools; domake clean; directory ::
-alldepend ÄÄ
- directory :tools; domake depend; directory ::
-
-
-# The extra libraries
-
-otherlibraries Ä
- for i in {OTHERLIBRARIES}
- directory :otherlibs:{i}; domake all; directory :::
- end
-partialclean ÄÄ
- for i in {OTHERLIBRARIES}
- directory :otherlibs:{i}; domake partialclean; directory :::
- end
-clean ÄÄ
- for i in {OTHERLIBRARIES}
- directory :otherlibs:{i}; domake clean; directory :::
- end
-alldepend ÄÄ
- for i in {OTHERLIBRARIES}
- directory :otherlibs:{i}; domake depend; directory :::
- end
-
-
-# Camlp4
-
-camlp4out Ä ocamlc
- directory :camlp4:
- execute :config:config.mpw
- domake all
- directory ::
-
-partialclean ÄÄ
- directory :camlp4:
- execute :config:config.mpw
- domake clean
- directory ::
-
-alldepend ÄÄ
- directory :camlp4:
- execute :config:config.mpw
- domake depend
- directory ::
-
-# The standalone application
-
-maccaml Ä
- directory :maccaml:; domake all; directory ::
-partialclean ÄÄ
- directory :maccaml:; domake partialclean; directory ::
-clean ÄÄ
- directory :maccaml:; domake clean; directory ::
-alldepend ÄÄ
- directory :maccaml:; domake depend; directory ::
-
-
-# Clean up the test directory
-
-clean ÄÄ
- if `exists :test:`
- directory :test:; domake clean; directory ::
- end
-
-
-# Default rules
-
-.cmo Ä .ml
- {CAMLC} {COMPFLAGS} -c {depdir}{default}.ml
-
-.cmi Ä .mli
- {CAMLC} {COMPFLAGS} -c {depdir}{default}.mli
-
-partialclean ÄÄ
- for i in utils parsing typing bytecomp driver toplevel tools
- delete -i :{i}:Å.cm[io] || set status 0
- end
-
-depend Ä beforedepend
- for d in utils parsing typing bytecomp driver toplevel
- {CAMLDEP} {DEPFLAGS} :{d}:Å.mli :{d}:Å.ml
- end > Makefile.Mac.depend
-
-alldepend ÄÄ depend
-
-
-# Make sure the config file was executed
-dummy Ä {OTHERLIBRARIES}