ocaml/byterun/Makefile.Mac

111 lines
4.2 KiB
Makefile
Raw Normal View History

C = sc
COptions = -model far
AOptions = -model far -wb
LinkOptions = -model far -msg nodup -compact -pad 0 -state nouse -br 68k
Libs = "{libraries}IntEnv.far.o" "{libraries}MacRuntime.o" <20>
"{clibraries}StdCLib.far.o" "{libraries}MathLib.far.o" <20>
"{libraries}ToolLibs.o" "{libraries}Interface.o"
PPCC = mrc
PPCCOptions = -w 35
PPCLinkOptions = -d
PPCLibs = "{sharedlibraries}MathLib" "{ppclibraries}PPCCRuntime.o" <20>
"{ppclibraries}PPCToolLibs.o" "{sharedlibraries}StdCLib" <20>
"{ppclibraries}StdCRuntime.o" "{sharedlibraries}InterfaceLib"
OBJS = interp.a.o misc.c.o stacks.c.o fix_code.c.o startup.c.o main.c.o <20>
freelist.c.o major_gc.c.o minor_gc.c.o memory.c.o alloc.c.o roots.c.o <20>
fail.c.o signals.c.o <20>
compare.c.o ints.c.o floats.c.o str.c.o array.c.o io.c.o extern.c.o <20>
intern.c.o <20>
hash.c.o sys.c.o meta.c.o parsing.c.o gc_ctrl.c.o terminfo.c.o md5.c.o <20>
obj.c.o lexing.c.o macintosh.c.o rotatecursor.c.o printexc.c.o callback.c.o <20>
debugger.c.o weak.c.o compact.c.o
PPCOBJS = interp.c.x misc.c.x stacks.c.x fix_code.c.x startup.c.x main.c.x <20>
freelist.c.x major_gc.c.x minor_gc.c.x memory.c.x alloc.c.x roots.c.x <20>
fail.c.x signals.c.x <20>
compare.c.x ints.c.x floats.c.x str.c.x array.c.x io.c.x extern.c.x <20>
intern.c.x <20>
hash.c.x sys.c.x meta.c.x parsing.c.x gc_ctrl.c.x terminfo.c.x md5.c.x <20>
obj.c.x lexing.c.x macintosh.c.x rotatecursor.c.x printexc.c.x callback.c.x <20>
debugger.c.x weak.c.x compact.c.x
PRIMS = array.c compare.c extern.c floats.c gc_ctrl.c hash.c <20>
intern.c interp.c ints.c io.c lexing.c md5.c meta.c obj.c parsing.c <20>
signals.c str.c sys.c terminfo.c callback.c weak.c
all <EFBFBD> ocamlrun libcamlrun.o libcamlrun.x
ocamlrun <EFBFBD><EFBFBD> libcamlrun.o prims.c.o
ilink -c 'MPS ' -t MPST {LinkOptions} -o ocamlrun prims.c.o <20>
libcamlrun.o {Libs}
ocamlrun <EFBFBD><EFBFBD> libcamlrun.x prims.c.x
ppclink -c 'MPS ' -t MPST {PPCLinkOptions} -o ocamlrun prims.c.x <20>
libcamlrun.x {PPCLibs}
libcamlrun.o <EFBFBD> {OBJS}
lib -o libcamlrun.o {OBJS}
libcamlrun.x <EFBFBD> {PPCOBJS}
ppclink {PPCLinkOptions} -xm library -o libcamlrun.x {PPCOBJS}
install <EFBFBD>
duplicate -y ocamlrun "{BINDIR}ocamlrun"
duplicate -y libcamlrun.x libcamlrun.o "{LIBDIR}"
if "`exists -d "{LIBDIR}caml:"`" == ""
newfolder "{LIBDIR}caml:"
end
duplicate -y mlvalues.h alloc.h misc.h callback.h config.h memory.h <20>
"{LIBDIR}caml:"
open -t "{LIBDIR}caml:config.h"
find <20> "{LIBDIR}caml:config.h"
find /<2F>'#include "'<EFBFBD>sm-Mac.hŰ/ "{LIBDIR}caml:config.h"
catenate ::config:sm-Mac.h > "{LIBDIR}caml:config.h".<2E>
find <20> "{LIBDIR}caml:config.h"
clear -c <20> /<2F>'#include "'<EFBFBD>/ "{LIBDIR}caml:config.h"
close -y "{LIBDIR}caml:config.h"
open -t "{LIBDIR}caml:memory.h"
find <20> "{LIBDIR}caml:memory.h"
clear -c <20> /<2F>'#include "'<EFBFBD>'gc.h'<EFBFBD>/ "{LIBDIR}caml:memory.h"
find <20> "{LIBDIR}caml:memory.h"
clear /'#define Alloc_small'/:/<2F>}/ "{LIBDIR}caml:memory.h"
find <20> "{LIBDIR}caml:memory.h"
clear /'#define Modify'/:/<2F>}/ "{LIBDIR}caml:memory.h"
close -y "{LIBDIR}caml:memory.h"
clean <EFBFBD>
delete -i <20>.[ox] || set status 0
delete -i ocamlrun primitives prims.c opnames.h
primitives <EFBFBD> {PRIMS}
streamedit -d -e "/ ([a-z0-9_]+)<29>0 *'('<27>'* ML *'/ print <20>0" {PRIMS} > primitives
prims.c <EFBFBD> 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 " <20>"" . "<22>","' primitives >> prims.c
echo '0 };' >> prims.c
opnames.h <EFBFBD> instruct.h
streamedit -e "/<2F><>/'*'/ delete" <20>
-e "/enum / replace // 'char * names_of_'" <20>
-e '/{<7B>/ replace // "[] = {"' <20>
-e "1,$ replace /<2F>([A-Z][A-Z_0-9]*)<29>0/ '<27>"' <20>0 '<EFBFBD>"' -c <20>" <20>
instruct.h > opnames.h
rotatecursor.c.o <EFBFBD>
{C} -b rotatecursor.c -o rotatecursor.c.o {COptions}
md5.c.x <EFBFBD>
{PPCC} -opt off md5.c -o md5.c.x {PPCCOptions}
depend <EFBFBD> prims.c opnames.h
makedepend <20>.c > Makefile.Mac.depend