Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions src/Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# Unix Makefile for Moscow ML

# To build the Moscow ML system on a new machine for the first time,
# To build the Moscow ML system on a new machine for the first time,
# (1) edit PREFIX etc. in file Makefile.inc
# (2) execute `make world'
#
# Alternatively,
# (1) execute `PREFIX=/path/to/prefix make world`

# To install it

Expand Down Expand Up @@ -100,6 +103,7 @@ install:
test -d $(DESTDIR)$(INCDIR) || mkdir -p $(DESTDIR)$(INCDIR)
test -d $(DESTDIR)$(DOCDIR) || mkdir -p $(DESTDIR)$(DOCDIR)
test -d $(DESTDIR)$(TOOLDIR) || mkdir -p $(DESTDIR)$(TOOLDIR)

cd runtime; $(MAKE) install
# cd config; $(MAKE) install
cd launch; $(MAKE) all install
Expand Down Expand Up @@ -144,7 +148,7 @@ clean:
cd lex; $(MAKE) clean
cd test; $(MAKE) clean
cd mosmllib/test; $(MAKE) clean
cd ../examples; $(MAKE) clean
cd ../examples; $(MAKE) clean
cd dynlibs; $(MAKE) clean
rm -f camlrunm$(EXE)
cd doc; $(MAKE) clean
Expand Down
8 changes: 4 additions & 4 deletions src/Makefile.inc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Unix configuration Makefile for Moscow ML -*- mode: makefile -*-

# Where to install stuff
PREFIX=/usr/local
PREFIX?=/usr/local

# BINDIR contains true executable files, such as scripts
# LIBDIR contains bytecode files (such as mosmlcmp and library units), and .dll/.so for dynlibs.
Expand Down Expand Up @@ -36,7 +36,6 @@ PERL=perl
BASELIBS=-lm

# This works with most systems, including MacOS X with XCode installed:

CC=gcc
# CC=gcc -mmacosx-version-min=10.7 # for building OS X package
# CC=/usr/sepp/bin/gcc # Solaris at KVL
Expand Down Expand Up @@ -90,10 +89,11 @@ ifeq ($(UNAME_S),Cross_W32)
endif
ifeq ($(UNAME_S),OpenBSD)
ADDRUNLIBS=
CC=cc
CPP=cpp -P -traditional -Dunix -Umsdos -Wno-invalid-pp-token
STRIP=strip -S
LD=gcc -rdynamic -Wl,-rpath,$(LIBDIR)
DYNLD=gcc -shared
LD=cc -rdynamic -Wl,-rpath,$(LIBDIR)
DYNLD=cc -shared
endif

ifeq ($(UNAME_S),Custom) # Your configuration here
Expand Down
190 changes: 95 additions & 95 deletions src/compiler.cminusminus/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ T_OBJS= \
Predef.uo Prim_c.uo Symtable.uo Patch.uo Tr_const.uo \
Rtvals.uo Load_phr.uo Exec_phr.uo Smltop.uo Maint.uo

all: mosmlcmmc
all: mosmlcmmc

dos: mosmlcmp.dos mosmllnk.dos mosmltop.dos

Expand Down Expand Up @@ -84,14 +84,14 @@ mosmllnk.dos: $(L_OBJS)
mosmllnk.w32: $(L_OBJS)
$(MOSMLL) $(LINKFLAGS) -o mosmllnk.w32 Mainl.uo

Predef.sml : $(CAMLRT)/globals.h
Predef.sml : $(CAMLRT)/globals.h
$(PERL) $(MOSMLTOOLS)/mksmlpre $(CAMLRT)/globals.h > Predef.sml

Prim_c.sml : $(CAMLRT)/primitives
$(PERL) $(MOSMLTOOLS)/mksmlprc $(CAMLRT)/primitives > Prim_c.sml

mosmltop: $(COMP_OBJS) $(T_OBJS)
$(MOSMLL) $(LINKFLAGS) -o mosmltop Maint.uo
$(MOSMLL) $(LINKFLAGS) -o mosmltop Maint.uo

mosmltop.dos: $(COMP_OBJS) $(T_OBJS)
$(MOSMLLDOS) $(LINKFLAGS) -o mosmltop Maint.uo
Expand Down Expand Up @@ -125,8 +125,8 @@ promote:
#test -f ../mosmllnk.orig || cp ../mosmllnk ../mosmllnk.orig
#test -f ../mosmllex.orig || cp ../mosmllex ../mosmllex.orig
#$(MOSMLL) $(LINKFLAGS) -o mosmlcmp $(C_LIBOBJS) $(COMP_OBJS) $(C_OBJS)
#$(MOSMLL) $(LINKFLAGS) -o mosmllnk $(L_LIBOBJS) $(L_OBJS)
#$(MOSMLL) $(LINKFLAGS) -o mosmltop $(T_LIBOBJS) $(T_OBJS)
#$(MOSMLL) $(LINKFLAGS) -o mosmllnk $(L_LIBOBJS) $(L_OBJS)
#$(MOSMLL) $(LINKFLAGS) -o mosmltop $(T_LIBOBJS) $(T_OBJS)
#test -f mosmllnk && cp mosmllnk ../mosmllnk
test -f mosmlcmmc && cp mosmlcmmc ../mosmlcmmc
#test -f ../lex/mosmllex && cp ../lex/mosmllex ../mosmllex
Expand All @@ -146,145 +146,145 @@ depend: Filename.sml Config.sml Opcodes.sml Parser.sml Parser.sig Lexer.sml \

regress:
echo "building current lib"
cd ../mosmllib; make -s current
cd ../mosmllib; $(MAKE) -s current
echo "testing current lib"
cd ../mosmllib/test; make -s current || echo "results differ"
cd ../mosmllib/test; $(MAKE) -s current || echo "results differ"
echo "testing current test"
cd ../test; make -s current || echo "results differ"
cd ../test; $(MAKE) -s current || echo "results differ"
echo "testing current compiler test"
cd test; make -s current || echo "results differ"
cd test; $(MAKE) -s current || echo "results differ"

### DO NOT DELETE THIS LINE
Wpp.uo: Wpp.ui
Wpp.uo: Wpp.ui
CmmEmitcode.uo: Mixture.ui Instruct.uo Prim.uo CmmAST.uo Pr_zam.uo Fnlib.ui \
Const.uo
CmmBack.uo: Sort.ui Pr_lam.ui Stack.ui CmmAST.uo Lambda.uo
CmmPrint.uo: CmmPrint.ui Wpp.ui CmmAST.uo
CmmPrint.ui: Wpp.ui CmmAST.uo
Predef.uo: Const.uo
Const.uo
CmmBack.uo: Sort.ui Pr_lam.ui Stack.ui CmmAST.uo Lambda.uo
CmmPrint.uo: CmmPrint.ui Wpp.ui CmmAST.uo
CmmPrint.ui: Wpp.ui CmmAST.uo
Predef.uo: Const.uo
Lexer.uo: Lexer.ui Parser.ui Const.uo Fnlib.ui Config.uo Stack.ui \
Mixture.ui Hasht.ui Memory.uo
Parser.ui: Asynt.uo Const.uo
Mixture.ui Hasht.ui Memory.uo
Parser.ui: Asynt.uo Const.uo
Parser.uo: Parser.ui Asynt.uo Const.uo Fnlib.ui Config.uo Types.ui \
Asyntfn.ui Globals.uo Location.ui Mixture.ui
Config.uo: Fnlib.ui
Filename.uo: Filename.ui
Asyntfn.ui Globals.uo Location.ui Mixture.ui
Config.uo: Fnlib.ui
Filename.uo: Filename.ui
Units.uo: Units.ui Const.uo Fnlib.ui Config.uo Globals.uo Location.ui \
Mixture.ui Hasht.ui Filename.ui
Units.ui: Const.uo Fnlib.ui Globals.uo Location.ui Mixture.ui Hasht.ui
Mixture.ui Hasht.ui Filename.ui
Units.ui: Const.uo Fnlib.ui Globals.uo Location.ui Mixture.ui Hasht.ui
Types.uo: Types.ui Const.uo Fnlib.ui Config.uo Globals.uo Smlprim.uo \
Location.ui Mixture.ui Units.ui Hasht.ui
Location.ui Mixture.ui Units.ui Hasht.ui
Types.ui: Const.uo Fnlib.ui Globals.uo Smlprim.uo Location.ui Mixture.ui \
Units.ui
Units.ui
Tr_env.uo: Tr_env.ui Asynt.uo Const.uo Fnlib.ui Prim.uo Types.ui Asyntfn.ui \
Globals.uo Mixture.ui Units.ui Hasht.ui Lambda.uo
Tr_env.ui: Asynt.uo Const.uo Mixture.ui Lambda.uo
Tr_const.uo: Const.uo Symtable.ui
Globals.uo Mixture.ui Units.ui Hasht.ui Lambda.uo
Tr_env.ui: Asynt.uo Const.uo Mixture.ui Lambda.uo
Tr_const.uo: Const.uo Symtable.ui
Synchk.uo: Synchk.ui Asynt.uo Const.uo Fnlib.ui Asyntfn.ui Globals.uo \
Location.ui Mixture.ui Units.ui
Synchk.ui: Asynt.uo
Location.ui Mixture.ui Units.ui
Synchk.ui: Asynt.uo
Symtable.uo: Symtable.ui Const.uo Fnlib.ui Config.uo Predef.uo Prim_c.uo \
Mixture.ui Hasht.ui Miscsys.ui
Symtable.ui: Const.uo
Stack.uo: Stack.ui
Sort.uo: Sort.ui
Mixture.ui Hasht.ui Miscsys.ui
Symtable.ui: Const.uo
Stack.uo: Stack.ui
Sort.uo: Sort.ui
Smltop.uo: Smltop.ui Compiler.ui Const.uo Fnlib.ui Patch.uo Emit_phr.uo \
Rtvals.ui Config.uo Code_dec.uo Lexer.ui Types.ui Globals.uo Smlprim.uo \
Smlexc.uo Smlperv.ui Opcodes.uo Location.ui Symtable.ui Emitcode.ui \
Mixture.ui Units.ui Load_phr.ui Hasht.ui Miscsys.ui Memory.uo \
Filename.ui Exec_phr.ui
Smlprim.uo: Const.uo Prim.uo
Filename.ui Exec_phr.ui
Smlprim.uo: Const.uo Prim.uo
Smlperv.uo: Smlperv.ui Const.uo Fnlib.ui Prim.uo Types.ui Globals.uo \
Smlprim.uo Smlexc.uo Units.ui Hasht.ui
Smlexc.uo: Const.uo Fnlib.ui Config.uo Types.ui Mixture.ui
Smlprim.uo Smlexc.uo Units.ui Hasht.ui
Smlexc.uo: Const.uo Fnlib.ui Config.uo Types.ui Mixture.ui
Sigmtch.uo: Sigmtch.ui Front.ui Const.uo Back.ui Fnlib.ui Emit_phr.uo \
Prim.uo Types.ui Globals.uo Mixture.ui Units.ui Hasht.ui Lambda.uo
Sigmtch.ui: Units.ui
Prim.uo Types.ui Globals.uo Mixture.ui Units.ui Hasht.ui Lambda.uo
Sigmtch.ui: Units.ui
Rtvals.uo: Rtvals.ui Const.uo Fnlib.ui Config.uo Types.ui Globals.uo \
Smlexc.uo Symtable.ui Mixture.ui Units.ui Miscsys.ui Memory.uo
Rtvals.ui: Const.uo Types.ui Globals.uo
Reloc.uo: Const.uo Buffcode.uo Code_dec.uo Hasht.ui
Printexc.uo: Printexc.ui
Primdec.uo: Const.uo Fnlib.ui Prim.uo Smlprim.uo
Prim_opc.uo: Fnlib.ui Prim.uo Opcodes.uo
Prim.uo: Const.uo
Smlexc.uo Symtable.ui Mixture.ui Units.ui Miscsys.ui Memory.uo
Rtvals.ui: Const.uo Types.ui Globals.uo
Reloc.uo: Const.uo Buffcode.uo Code_dec.uo Hasht.ui
Printexc.uo: Printexc.ui
Primdec.uo: Const.uo Fnlib.ui Prim.uo Smlprim.uo
Prim_opc.uo: Fnlib.ui Prim.uo Opcodes.uo
Prim.uo: Const.uo
Pr_zam.uo: Asynt.uo Const.uo Fnlib.ui Config.uo Pr_lam.ui Instruct.uo \
Mixture.ui
Pr_lam.uo: Pr_lam.ui Asynt.uo Const.uo Prim.uo Mixture.ui Lambda.uo
Pr_lam.ui: Prim.uo Lambda.uo
Patch.uo: Code_dec.uo Symtable.ui
Mixture.ui
Pr_lam.uo: Pr_lam.ui Asynt.uo Const.uo Prim.uo Mixture.ui Lambda.uo
Pr_lam.ui: Prim.uo Lambda.uo
Patch.uo: Code_dec.uo Symtable.ui
Ovlres.uo: Ovlres.ui Asynt.uo Const.uo Fnlib.ui Prim.uo Types.ui Globals.uo \
Smlprim.uo Location.ui Mixture.ui Units.ui
Ovlres.ui: Asynt.uo
Mixture.uo: Mixture.ui Fnlib.ui Config.uo Hasht.ui Miscsys.ui Filename.ui
Mixture.ui: Hasht.ui
Miscsys.uo: Miscsys.ui
Smlprim.uo Location.ui Mixture.ui Units.ui
Ovlres.ui: Asynt.uo
Mixture.uo: Mixture.ui Fnlib.ui Config.uo Hasht.ui Miscsys.ui Filename.ui
Mixture.ui: Hasht.ui
Miscsys.uo: Miscsys.ui
Match.uo: Match.ui Asynt.uo Const.uo Fnlib.ui Prim.uo Asyntfn.ui Tr_env.ui \
Location.ui Mixture.ui Hasht.ui Lambda.uo
Match.ui: Asynt.uo Tr_env.ui Location.ui Lambda.uo
Location.ui Mixture.ui Hasht.ui Lambda.uo
Match.ui: Asynt.uo Tr_env.ui Location.ui Lambda.uo
Maint.uo: Maint.ui Compiler.ui Fnlib.ui Rtvals.ui Config.uo Types.ui Arg.ui \
Printexc.ui Smlperv.ui Location.ui Smltop.ui Mixture.ui Units.ui \
Miscsys.ui Memory.uo Exec_phr.ui
Miscsys.ui Memory.uo Exec_phr.ui
Mainl.uo: Fnlib.ui Config.uo Arg.ui Printexc.ui Link.ui Symtable.ui \
Readword.uo Mixture.ui Miscsys.ui Filename.ui
Readword.uo Mixture.ui Miscsys.ui Filename.ui
Mainc.uo: Mainc.ui Compiler.ui Fnlib.ui Config.uo Lexer.ui Types.ui Arg.ui \
Printexc.ui Smlperv.ui Location.ui Mixture.ui Units.ui Miscsys.ui \
Filename.ui
Location.uo: Location.ui Fnlib.ui Config.uo Mixture.ui
Filename.ui
Location.uo: Location.ui Fnlib.ui Config.uo Mixture.ui
Load_phr.uo: Load_phr.ui Const.uo Reloc.uo Fnlib.ui Buffcode.uo Patch.uo \
Rtvals.ui Types.ui Opcodes.uo Symtable.ui Labels.uo Emitcode.ui \
Instruct.uo Tr_const.uo Mixture.ui Memory.uo
Load_phr.ui: Instruct.uo
Instruct.uo Tr_const.uo Mixture.ui Memory.uo
Load_phr.ui: Instruct.uo
Link.uo: Link.ui Const.uo Fnlib.ui Patch.uo Config.uo Code_dec.uo \
Opcodes.uo Symtable.ui Tr_const.uo Mixture.ui Hasht.ui Miscsys.ui \
Filename.ui
Lexer.ui: Parser.ui
Lambda.uo: Const.uo Prim.uo Instruct.uo
Labels.uo: Fnlib.ui Buffcode.uo Instruct.uo
Instruct.uo: Const.uo Config.uo Prim.uo
Filename.ui
Lexer.ui: Parser.ui
Lambda.uo: Const.uo Prim.uo Instruct.uo
Labels.uo: Fnlib.ui Buffcode.uo Instruct.uo
Instruct.uo: Const.uo Config.uo Prim.uo
Infixst.uo: Infixst.ui Asynt.uo Const.uo Fnlib.ui Globals.uo Location.ui \
Mixture.ui
Infixst.ui: Asynt.uo Fnlib.ui Globals.uo Location.ui Mixture.ui
Mixture.ui
Infixst.ui: Asynt.uo Fnlib.ui Globals.uo Location.ui Mixture.ui
Infixres.uo: Infixres.ui Asynt.uo Primdec.uo Const.uo Fnlib.ui Infixst.ui \
Types.ui Asyntfn.ui Globals.uo Smlprim.uo Smlexc.uo Location.ui \
Mixture.ui Units.ui
Infixres.ui: Asynt.uo Globals.uo
Hasht.uo: Hasht.ui
Globals.uo: Const.uo Fnlib.ui Smlprim.uo Mixture.ui
Mixture.ui Units.ui
Infixres.ui: Asynt.uo Globals.uo
Hasht.uo: Hasht.ui
Globals.uo: Const.uo Fnlib.ui Smlprim.uo Mixture.ui
Front.uo: Front.ui Asynt.uo Const.uo Fnlib.ui Config.uo Prim.uo Types.ui \
Asyntfn.ui Globals.uo Smlprim.uo Smlexc.uo Tr_env.ui Location.ui \
Match.ui Mixture.ui Units.ui Lambda.uo
Front.ui: Asynt.uo Globals.uo Smlprim.uo Tr_env.ui Lambda.uo
Fnlib.uo: Fnlib.ui
Match.ui Mixture.ui Units.ui Lambda.uo
Front.ui: Asynt.uo Globals.uo Smlprim.uo Tr_env.ui Lambda.uo
Fnlib.uo: Fnlib.ui
Exec_phr.uo: Exec_phr.ui Asynt.uo Front.ui Compiler.ui Const.uo Back.ui \
Fnlib.ui Pr_zam.uo Infixst.ui Elab.ui Rtvals.ui Types.ui Ovlres.ui \
Globals.uo Tr_env.ui Symtable.ui Mixture.ui Units.ui Load_phr.ui \
Infixres.ui Miscsys.ui
Exec_phr.ui: Asynt.uo
Infixres.ui Miscsys.ui
Exec_phr.ui: Asynt.uo
Emitcode.uo: Emitcode.ui Const.uo Reloc.uo Fnlib.ui Buffcode.uo Config.uo \
Prim.uo Opcodes.uo Labels.uo Instruct.uo Mixture.ui Prim_opc.uo
Emitcode.ui: Instruct.uo
Prim.uo Opcodes.uo Labels.uo Instruct.uo Mixture.ui Prim_opc.uo
Emitcode.ui: Instruct.uo
Emit_phr.uo: CmmPrint.ui Code_dec.uo Wpp.ui Instruct.uo CmmAST.uo \
CmmEmitcode.uo
CmmEmitcode.uo
Elab.uo: Elab.ui Asynt.uo Primdec.uo Sort.ui Synchk.ui Const.uo Fnlib.ui \
Config.uo Types.ui Asyntfn.ui Globals.uo Smlprim.uo Smlexc.uo \
Location.ui Mixture.ui Units.ui
Elab.ui: Asynt.uo Globals.uo
Const.uo: Fnlib.ui Config.uo Mixture.ui
Location.ui Mixture.ui Units.ui
Elab.ui: Asynt.uo Globals.uo
Const.uo: Fnlib.ui Config.uo Mixture.ui
Compiler.uo: Compiler.ui Asynt.uo Front.ui Parser.ui Const.uo Back.ui \
Fnlib.ui Pr_zam.uo Elab.ui Emit_phr.uo Lexer.ui Config.uo Sigmtch.ui \
Types.ui Ovlres.ui Globals.uo Smlperv.ui Tr_env.ui Location.ui \
Mixture.ui Units.ui Infixres.ui Hasht.ui
Compiler.ui: Asynt.uo Globals.uo Mixture.ui
Code_dec.uo: Const.uo Mixture.ui Hasht.ui
Buffcode.uo: Fnlib.ui Config.uo Opcodes.uo Mixture.ui
Mixture.ui Units.ui Infixres.ui Hasht.ui
Compiler.ui: Asynt.uo Globals.uo Mixture.ui
Code_dec.uo: Const.uo Mixture.ui Hasht.ui
Buffcode.uo: Fnlib.ui Config.uo Opcodes.uo Mixture.ui
Back.uo: Back.ui Sort.ui Const.uo Fnlib.ui Prim.uo Instruct.uo Stack.ui \
Mixture.ui Lambda.uo
Back.ui: Instruct.uo Lambda.uo
Mixture.ui Lambda.uo
Back.ui: Instruct.uo Lambda.uo
Asyntfn.uo: Asyntfn.ui Asynt.uo Const.uo Fnlib.ui Types.ui Globals.uo \
Location.ui Mixture.ui
Location.ui Mixture.ui
Asyntfn.ui: Asynt.uo Const.uo Fnlib.ui Types.ui Globals.uo Location.ui \
Mixture.ui
Arg.uo: Arg.ui Fnlib.ui Miscsys.ui
Mixture.ui
Arg.uo: Arg.ui Fnlib.ui Miscsys.ui
Asynt.uo: Const.uo Fnlib.ui Types.ui Globals.uo Location.ui Mixture.ui \
Lambda.uo
Lambda.uo
Loading