ocaml/maccaml/Makefile.Mac

174 lines
7.0 KiB
Makefile

#########################################################################
# #
# 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$
VERSIONSTR =
"¶"{OCAMLMAJOR}.{OCAMLMINOR}/Mac{MAJOR}.{MINOR}.{BUGFIX}{STAGE}{REV}""
COPYRIGHTSTR = "¶"Copyright 1991-2000 INRIA¶""
XIncludes = -i ::byterun:,::config: ¶
-i ":WASTE:WASTE 1.3 Distribution:WASTE C/C++ Headers:"
-includes unix -i "{GUSI}include:"
C = sc
cplus = scpp
COptions = {XIncludes} -model far -mbg full {cdbgflag}
LinkOptions = -model far -compact -pad 0 -state nouse -br 68k -msg nodup
CamlrunLibs = ::otherlibs:num:libnums.o ¶
::otherlibs:bigarray:libbigarray.o ¶
::otherlibs:systhreads:libthreads.o ¶
::otherlibs:macosunix:libcamlrun-unix.o
WELibs = ":WASTE:WASTE 1.3 Distribution:WASTELib.o"
gusilibs = "{gusi}lib:gusi_mpw.sc.lib"
"{gusi}lib:gusi_stdio.sc.lib"
"{gusi}lib:gusi_core.sc.lib"
SysLibs = "{libraries}sio.far.o"
"{CLibraries}CPlusLib.o"
"{CLibraries}StdCLib.far.o"
"{Libraries}MacRuntime.o"
"{Libraries}Interface.o"
"{Libraries}IntEnv.far.o"
"{Libraries}MathLib.far.o"
"{Libraries}ToolLibs.o"
"{CLibraries}IOStreams.far.o"
"{Libraries}OpenTransport.o"
"{Libraries}OpenTransportApp.o"
"{Libraries}OpenTptInet.o"
Libs = {camlrunlibs} {welibs} {gusilibs} {syslibs}
PPCC = mrc -proto strict
PPCCplus = mrcpp
PPCCOptions = {XIncludes} {cdbgflag}
PPCLinkOptions = -d {ldbgflag}
PPCCamlrunLibs = ::otherlibs:num:libnums.x ¶
::otherlibs:bigarray:libbigarray.x ¶
::otherlibs:systhreads:libthreads.x ¶
::otherlibs:macosunix:libcamlrun-unix.x
PPCWELibs = ":WASTE:WASTE 1.3 Distribution:WASTELib.x"
ppcgusilibs = "{gusi}lib:gusi_mpw.mrc.lib"
"{gusi}lib:gusi_sfio.mrc.lib"
"{gusi}lib:gusi_core.mrc.lib"
"{sfio}lib:sfio.mrc.lib"
PPCSysLibs = "{ppclibraries}ppcsio.o"
"{PPCLibraries}MrCPlusLib.o"
"{PPCLibraries}PPCStdCLib.o"
"{PPCLibraries}StdCRuntime.o"
"{PPCLibraries}PPCCRuntime.o"
"{PPCLibraries}PPCToolLibs.o"
"{SharedLibraries}InterfaceLib"
"{SharedLibraries}ThreadsLib"
"{PPCLibraries}MrCIOStreams.o"
"{SharedLibraries}StdCLib"
"{SharedLibraries}OpenTransportLib"
"{SharedLibraries}OpenTptInternetLib"
"{PPCLibraries}OpenTransportAppPPC.o"
"{PPCLibraries}OpenTptInetPPC.o"
"{sharedlibraries}MathLib"
"{sharedlibraries}DragLib"
PPCLibs = {ppccamlrunlibs} {ppcwelibs} {ppcgusilibs} {ppcsyslibs}
camllibs = ::otherlibs:graph:graphics.cma ¶
::otherlibs:num:nums.cma ¶
::otherlibs:macosunix:unix.cma ¶
::otherlibs:bigarray:bigarray.cma ¶
::otherlibs:systhreads:threads.cma
primfiles = ::byterun:primitives ¶
prim_bigarray prim_graph prim_num prim_unix prim_systhreads
RezDefs = -d SystemSevenOrLater=1 -d MAJORVNUM={MAJOR}
-d MINORVNUM=0x{MINOR}{BUGFIX} -d STAGE={STAGE} -d DEVVNUM={REV}
-d VERSIONSTR={VERSIONSTR} -d COPYRIGHTSTR={COPYRIGHTSTR}
OBJS = aboutbox.c.o appleevents.c.o clipboard.c.o ¶
drag.c.o errors.c.o ¶
events.c.o files.c.o glue.c.o ¶
graph.c.o lcontrols.c.o lib.c.o main.c.o memory.c.o ¶
menus.c.o misc.c.o modalfilter.c.o prefs.c.o prims.c.o ¶
print.c.o scroll.c.o windows.c.o gusistuff.cp.o
PPCOBJS = aboutbox.c.x appleevents.c.x clipboard.c.x ¶
drag.c.x errors.c.x ¶
events.c.x files.c.x glue.c.x ¶
graph.c.x lcontrols.c.x lib.c.x main.c.x memory.c.x ¶
menus.c.x misc.c.x modalfilter.c.x prefs.c.x prims.c.x ¶
print.c.x scroll.c.x windows.c.x gusistuff.cp.x
all Ä appli
set status 0
primitives Ä {primfiles}
catenate {primfiles} >primitives
prims.c Ä primitives
echo '#include "mlvalues.h"' > prims.c
echo '#include "prims.h"' >> prims.c
streamedit -e '1,$ change "extern value " . "();"' primitives >> prims.c
echo 'c_primitive cprim [] = {' >> prims.c
streamedit -e '1,$ change " " . ","' primitives >> prims.c
echo '0 };' >> prims.c
echo 'char * names_of_cprim [] = {' >> prims.c
streamedit -e '1,$ change " ¶"" . "¶","' primitives >> prims.c
echo '0 };' >> prims.c
gusistuff.cp.x Ä gusistuff.cp
{ppccplus} {ppccoptions} -bool on -includes unix -i "{gusi}include"
gusistuff.cp -o gusistuff.cp.x -w 2
gusistuff.cp.o Ä gusistuff.cp
{cplus} {coptions} -bool on -includes unix -i "{gusi}include"
gusistuff.cp -w 2
OCaml.PPC Ä {PPCOBJS}
ppclink -o OCaml.PPC {ppclinkoptions} {PPCOBJS} {ppclibs}
rename -y OCaml.PPC.xcoff "Objective Caml.xcoff" || set status 0
OCaml.68k Ä {OBJS}
ilink -o OCaml.68k {linkoptions} {OBJS} {libs}
OCaml.bytecode Ä primitives ::toplevellib.cma ::toplevel:topmain.cmo
{camllibs}
::boot:ocamlrun ::boot:ocamlc -I ::stdlib: -linkall -use-prims primitives ¶
::toplevellib.cma {camllibs} ::toplevel:topmain.cmo ¶
-noautolink -o OCaml.bytecode
dummy_fragment Ä dummy_fragment.c.x
ppclink -xm l -o dummy_fragment {ppclinkoptions} dummy_fragment.c.x
appli ÄÄ OCaml.PPC OCaml.68k OCaml.bytecode ocaml.r dummy_fragment
duplicate -y OCaml.68k "Objective Caml"
rez -a -o "Objective Caml" {RezDefs} ocaml.r
mergefragment -a OCaml.PPC "Objective Caml"
mergefragment dummy_fragment "Objective Caml"
catenate OCaml.bytecode >> "Objective Caml"
setfile -t APPL -c Caml -a iB "Objective Caml"
install Ä
duplicate -y "Objective Caml" `exists "objective caml.xcoff"` "{APPLIDIR}"
duplicate -y ::test:Moretest:graph_example.ml "{APPLIDIR}"
partialclean Ä
delete -i OCaml.bytecode "Objective Caml"
clean Ä
delete -i -y {OBJS} {PPCOBJS} OCaml.68k OCaml.PPC OCaml.bytecode
"Objective Caml" primitives prims.c null :config
dummy_fragment dummy_fragment.c.x dummy_fragment.xcoff ¶
"Objective Caml.xcoff" "Objective Caml.dbg"
depend Ä prims.c
begin
makedepend -w -objext .x Å.c
makedepend -w Å.c
end | streamedit -e "/¶t/ replace // ' ' -c °" > Makefile.Mac.depend