# DOS Makefile for Moscow ML compiler COMPFLAGS= LINKFLAGS=-g -noheader !include "..\makefile.inc" COMP_OBJS = \ miscsys.uo printexc.uo filename.uo fnlib.uo sort.uo stack.uo \ arg.uo hasht.uo memory.uo config.uo mixture.uo \ const.uo prim.uo instruct.uo \ lambda.uo smlprim.uo globals.uo location.uo \ units.uo types.uo smlexc.uo smlperv.uo asynt.uo asyntfn.uo \ parser.uo lexer.uo primdec.uo infixst.uo ovlres.uo \ synchk.uo infixres.uo elab.uo tr_env.uo pr_lam.uo \ match.uo front.uo back.uo pr_zam.uo \ opcodes.uo prim_opc.uo buffcode.uo labels.uo code_dec.uo reloc.uo \ emitcode.uo emit_phr.uo sigmtch.uo compiler.uo C_LIBOBJS= \ list.uo strbase.uo char.uo string.uo basicio.uo textio.uo \ vector.uo array.uo misc.uo \ stringcvt.uo word.uo word8.uo word8vec.uo charvect.uo \ word8arr.uo chararra.uo obj.uo nonstdio.uo \ lexing.uo parsing.uo pp.uo C_OBJS= \ mainc.uo L_LIBOBJS = \ list.uo strbase.uo char.uo string.uo basicio.uo textio.uo \ vector.uo array.uo misc.uo \ stringcvt.uo word.uo word8.uo word8vec.uo charvect.uo \ word8arr.uo chararra.uo obj.uo nonstdio.uo pp.uo L_OBJS= \ miscsys.uo printexc.uo filename.uo \ fnlib.uo arg.uo hasht.uo config.uo mixture.uo const.uo \ opcodes.uo code_dec.uo \ predef.uo prim_c.uo symtable.uo patch.uo tr_const.uo \ link.uo readword.uo mainl.uo T_LIBOBJS= \ list.uo strbase.uo char.uo string.uo basicio.uo textio.uo \ vector.uo array.uo misc.uo \ stringcvt.uo word.uo word8.uo word8vec.uo charvect.uo \ word8arr.uo chararra.uo obj.uo nonstdio.uo \ substrin.uo path.uo time.uo os.uo filesys.uo \ lexing.uo parsing.uo pp.uo 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: mosmlcmp mosmllnk mosmltop mosmlcmp: $(COMP_OBJS) $(C_OBJS) $(MOSMLL) $(LINKFLAGS) -o mosmlcmp -files &&| $(C_LIBOBJS) $(COMP_OBJS) $(C_OBJS) | opcodes.sml: $(CAMLRT)\instruct.h perl $(MOSMLTOOLS)\mksmlopc $(CAMLRT)\instruct.h > opcodes.sml parser.sml parser.sig: parser.grm $(MOSMLYACC) parser.grm mosmllnk: $(L_OBJS) $(MOSMLL) $(LINKFLAGS) -o mosmllnk -files &&| $(L_LIBOBJS) $(L_OBJS) | predef.sml : $(CAMLRT)\globals.h $(CAMLRT)\fail.h perl $(MOSMLTOOLS)\mksmlpre $(CAMLRT)\globals.h $(CAMLRT)\fail.h > predef.sml prim_c.sml : $(CAMLRT)\prims perl $(MOSMLTOOLS)\mksmlprc $(CAMLRT)\prims > prim_c.sml mosmltop: $(COMP_OBJS) $(T_OBJS) $(MOSMLL) $(LINKFLAGS) -o mosmltop -files &&| $(T_LIBOBJS) $(COMP_OBJS) $(T_OBJS) | clean: del *.exe del mosmlcmp del mosmllnk del mosmltop del *.ui del *.uo del opcodes.sml del parser.sml del parser.sig del lexer.sml del config.sml del filename.sml del predef.sml del prim_c.sml del makefile.bak install: copy /b mosmlcmp $(LIBDIR) copy /b mosmllnk $(LIBDIR) copy /b mosmltop $(LIBDIR) depend: filename.sml config.sml opcodes.sml parser.sml parser.sig lexer.sml \ predef.sml prim_c.sml del makefile.bak ren makefile makefile.bak $(MOSMLCUT) < makefile.bak > makefile $(MOSMLDEP) >> makefile ### DO NOT DELETE THIS LINE 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 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 lexer.ui: parser.ui units.uo: units.ui const.uo fnlib.ui config.uo globals.uo location.ui \ mixture.ui hasht.ui types.uo: types.ui const.uo fnlib.ui globals.uo smlprim.uo location.ui \ mixture.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_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 symtable.uo: symtable.ui const.uo fnlib.ui config.uo predef.uo prim_c.uo \ mixture.ui hasht.ui miscsys.ui 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 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 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 rtvals.uo: rtvals.ui const.uo fnlib.ui config.uo types.ui globals.uo \ smlexc.uo symtable.ui location.ui mixture.ui units.ui miscsys.ui \ memory.uo reloc.uo: const.uo buffcode.uo code_dec.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 printexc.uo: printexc.ui miscsys.ui prim_opc.uo: fnlib.ui prim.uo opcodes.uo primdec.uo: const.uo fnlib.ui prim.uo smlprim.uo prim.uo: const.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 mixture.uo: mixture.ui fnlib.ui config.uo hasht.ui miscsys.ui filename.ui miscsys.uo: miscsys.ui match.uo: match.ui asynt.uo const.uo fnlib.ui prim.uo types.ui asyntfn.ui \ globals.uo smlexc.uo tr_env.ui location.ui mixture.ui hasht.ui \ lambda.uo maint.uo: maint.ui compiler.ui fnlib.ui rtvals.ui config.uo arg.ui \ printexc.ui smlperv.ui location.ui smltop.ui mixture.ui units.ui \ miscsys.ui memory.uo mainl.uo: fnlib.ui config.uo arg.ui printexc.ui link.ui symtable.ui \ readword.uo mixture.ui miscsys.ui filename.ui mainc.uo: mainc.ui compiler.ui fnlib.ui config.uo lexer.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 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 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 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 infixres.uo: infixres.ui asynt.uo primdec.uo synchk.ui const.uo fnlib.ui \ infixst.ui types.ui asyntfn.ui globals.uo smlprim.uo smlexc.uo \ location.ui mixture.ui units.ui 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 fnlib.uo: fnlib.ui exec_phr.uo: exec_phr.ui asynt.uo front.ui compiler.ui 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 emit_phr.uo: const.uo reloc.uo buffcode.uo code_dec.uo labels.uo \ emitcode.ui instruct.uo mixture.ui 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 elab.uo: elab.ui asynt.uo const.uo fnlib.ui config.uo types.ui asyntfn.ui \ globals.uo smlexc.uo location.ui mixture.ui units.ui 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 sigmtch.ui types.ui \ ovlres.ui globals.uo smlperv.ui tr_env.ui location.ui mixture.ui \ units.ui infixres.ui hasht.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 asyntfn.uo: asyntfn.ui asynt.uo const.uo fnlib.ui types.ui globals.uo \ location.ui mixture.ui asynt.uo: const.uo fnlib.ui types.ui globals.uo location.ui mixture.ui arg.uo: arg.ui fnlib.ui miscsys.ui units.ui: const.uo fnlib.ui globals.uo location.ui mixture.ui hasht.ui types.ui: const.uo fnlib.ui globals.uo smlprim.uo location.ui mixture.ui \ units.ui tr_env.ui: asynt.uo const.uo mixture.ui lambda.uo synchk.ui: asynt.uo symtable.ui: const.uo sigmtch.ui: units.ui rtvals.ui: const.uo types.ui globals.uo pr_lam.ui: prim.uo lambda.uo ovlres.ui: asynt.uo mixture.ui: hasht.ui match.ui: asynt.uo tr_env.ui location.ui lambda.uo load_phr.ui: instruct.uo infixst.ui: asynt.uo fnlib.ui globals.uo location.ui mixture.ui infixres.ui: asynt.uo globals.uo front.ui: asynt.uo globals.uo smlprim.uo tr_env.ui lambda.uo exec_phr.ui: asynt.uo emitcode.ui: instruct.uo elab.ui: asynt.uo globals.uo compiler.ui: asynt.uo globals.uo mixture.ui back.ui: instruct.uo lambda.uo asyntfn.ui: asynt.uo const.uo fnlib.ui types.ui globals.uo location.ui \ mixture.ui