190 lines
7.5 KiB
Makefile
190 lines
7.5 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$
|
|
|
|
#FIXME Disabled the 68k stuff because GUSI seems to hang during
|
|
# initialisation. I don't have the time to debug this. Let's see if
|
|
# there's anyone left who wants O'Caml on 68k Macs.
|
|
|
|
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} {cdbgflag} -model far -mbg full
|
|
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 ¶
|
|
::otherlibs:str:libstr.o
|
|
WELibs = ":WASTE:WASTE 1.3 Distribution:WASTELib.o"
|
|
gusilibs = "{gusi}lib:gusi_mpw.sc.lib" ¶
|
|
"{gusi}lib:gusi_sfio.sc.lib" ¶
|
|
"{gusi}lib:gusi_core.sc.lib" ¶
|
|
"{sfio}lib:sfio.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 ¶
|
|
::otherlibs:str:libstr.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 ::otherlibs:macosunix:unix-primitives ¶
|
|
prim_bigarray prim_graph prim_num prim_str prim_systhreads
|
|
|
|
RezDefs = -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 mcmemory.c.o ¶
|
|
menus.c.o mcmisc.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 mcmemory.c.x ¶
|
|
menus.c.x mcmisc.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 appliprims ocamlconstants.h appli.r "Objective Caml"
|
|
set status 0
|
|
|
|
appliprims Ä {primfiles}
|
|
catenate {primfiles} > appliprims
|
|
|
|
prims.c Ä appliprims
|
|
begin
|
|
echo '#include "mlvalues.h"'
|
|
echo '#include "prims.h"'
|
|
streamedit -e '1,$ change "extern value " . "();"' appliprims
|
|
echo 'c_primitive cprim [] = {'
|
|
streamedit -e '1,$ change " " . ","' appliprims
|
|
echo '0 };'
|
|
echo 'char * names_of_cprim [] = {'
|
|
streamedit -e '1,$ change " ¶"" . "¶","' appliprims
|
|
echo '0 };'
|
|
end > 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} {ppccamlrunlibs}
|
|
ppclink -o OCaml.PPC {ppclinkoptions} {PPCOBJS} {ppclibs}
|
|
rename -y OCaml.PPC.xcoff "Objective Caml.xcoff" || set status 0
|
|
|
|
OCaml.68k Ä {OBJS} {camlrunlibs}
|
|
ilink -o OCaml.68k {linkoptions} {OBJS} {libs}
|
|
|
|
dummy_fragment Ä dummy_fragment.c.x
|
|
ppclink -xm l -o dummy_fragment {ppclinkoptions} dummy_fragment.c.x
|
|
|
|
appli ÄÄ OCaml.PPC dummy_fragment #FIXME OCaml.68k
|
|
#FIXME duplicate -y OCaml.68k appli
|
|
delete -i appli #FIXME
|
|
mergefragment -a OCaml.PPC appli
|
|
mergefragment dummy_fragment appli
|
|
|
|
"Objective Caml" Ä appliprims appli.r ocamlconstants.h appli ¶
|
|
::toplevellib.cma {camllibs} ::toplevel:topmain.cmo
|
|
:ocamlmkappli ¶
|
|
-ocamlc "::boot:ocamlrun ::boot:ocamlc -I ::stdlib: -linkall" ¶
|
|
{rezdefs} -lib : -name "Objective Caml" -r ocaml.r ¶
|
|
-creator Caml -prefsize 5000 -minsize 3000 ¶
|
|
::toplevellib.cma {camllibs} ::toplevel:topmain.cmo
|
|
|
|
install Ä appli appli.r appliprims ocamlconstants.h ocamlmkappli ¶
|
|
"Objective Caml"
|
|
duplicate -y "Objective Caml" ¶
|
|
`exists "objective caml.xcoff" ¶
|
|
"::test:Moretest:graph_example.ml" ¶
|
|
` ¶
|
|
"{APPLIDIR}"
|
|
duplicate -y appli appli.r appliprims ocamlconstants.h "{LIBDIR}"
|
|
duplicate -y ocamlmkappli "{BINDIR}"
|
|
|
|
partialclean Ä
|
|
delete -i "Objective Caml"
|
|
|
|
clean Ä
|
|
delete -i -y {OBJS} {PPCOBJS} OCaml.68k OCaml.PPC ¶
|
|
"Objective Caml" appliprims 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
|