# {updated by mmm: Sat Mar 19 12:20:09 1994 GMT}
# {flags: -a+ -e- -l- -L+ -m- -1- -v-}
# {rules}
.SUFFIXES:
.SUFFIXES:	.o .sy .m2 .d
MFLAGS =	
M2C =		m2c
.m2.o:
		$(M2C) -c $(MFLAGS) $*.m2
.d.a:
		$(M2C) $(MFLAGS) $*.d
# {macros}
SRC =		Attributes.d Attributes.m2 CodeGen.d CodeGen.m2 ConstExpr.d \
		ConstExpr.m2 EmitCode.d EmitCode.m2 Exception.d Exception.m2 \
		GenBasicOps.d GenBasicOps.m2 GenBlocks.d GenBlocks.m2 \
		GenExpr.d GenExpr.m2 GenStmts.d GenStmts.m2 GenTypes.d \
		GenTypes.m2 IdentSys.d IdentSys.m2 Lex.d Lex.m2 Machine.d \
		Machine.m2 Memory.d Memory.m2 Messages.d Messages.m2 \
		Mnemonics.d Mnemonics.m2 Oberon.m2 Parser.d Parser.m2 \
		RealConsts.d RealConsts.m2 RegMan.m2 RegMan.d Scan.d Scan.m2 \
		ScanArgs.d ScanArgs.m2 ShowSym.m2 StackMan.d StackMan.m2 \
		Standard.d Standard.m2 Suffixes.d Suffixes.m2 SymDef.d \
		SymDef.m2 SymFile.d SymFile.m2 SymRef.d SymRef.m2 SymTab.d \
		SymTab.m2 Types.d Types.m2
TAGSRC =	Attributes.m2 CodeGen.m2 ConstExpr.m2 EmitCode.m2 \
		Exception.m2 GenBasicOps.m2 GenBlocks.m2 GenExpr.m2 \
		GenStmts.m2 GenTypes.m2 IdentSys.m2 Lex.m2 Machine.m2 \
		Memory.m2 Messages.m2 Mnemonics.m2 Oberon.m2 Parser.m2 \
		RealConsts.m2 RegMan.m2 Scan.m2 ScanArgs.m2 ShowSym.m2 \
		StackMan.m2 Standard.m2 Suffixes.m2 SymDef.m2 SymFile.m2 \
		SymRef.m2 SymTab.m2 Types.m2
OBJS =		Attributes.o CodeGen.o ConstExpr.o EmitCode.o Exception.o \
		GenBasicOps.o GenBlocks.o GenExpr.o GenStmts.o GenTypes.o \
		IdentSys.o Lex.o Machine.o Memory.o Messages.o Mnemonics.o \
		Oberon.o Parser.o RealConsts.o RegMan.o Scan.o ScanArgs.o \
		ShowSym.o StackMan.o Standard.o Suffixes.o SymDef.o \
		SymFile.o SymRef.o SymTab.o Types.o
SYMS =		
REFS =		Attributes.r CodeGen.r ConstExpr.r EmitCode.r Exception.r \
		GenBasicOps.r GenBlocks.r GenExpr.r GenStmts.r GenTypes.r \
		IdentSys.r Lex.r Machine.r Memory.r Messages.r Mnemonics.r \
		Oberon.r Parser.r RealConsts.r RegMan.r Scan.r ScanArgs.r \
		ShowSym.r StackMan.r Standard.r Suffixes.r SymDef.r \
		SymFile.r SymRef.r SymTab.r Types.r
# {all}
T_Oberon =	oberon
T_ShowSym =	sym
T =		$(T_Oberon) $(T_ShowSym) 
all:		$T
# {linkage}
LIBS =		
LDFLAGS =	-n
$(T_Oberon):	Attributes.o CodeGen.o ConstExpr.o EmitCode.o Exception.o \
		GenBasicOps.o GenBlocks.o GenExpr.o GenStmts.o GenTypes.o \
		IdentSys.o Lex.o Machine.o Memory.o Messages.o Mnemonics.o \
		Oberon.o Parser.o RealConsts.o RegMan.o Scan.o ScanArgs.o \
		StackMan.o Standard.o Suffixes.o SymDef.o SymFile.o SymRef.o \
		SymTab.o Types.o
		$(M2C) $(MFLAGS) $(LDFLAGS) Attributes.o CodeGen.o \
		ConstExpr.o EmitCode.o Exception.o GenBasicOps.o GenBlocks.o \
		GenExpr.o GenStmts.o GenTypes.o IdentSys.o Lex.o Machine.o \
		Memory.o Messages.o Mnemonics.o Oberon.o Parser.o \
		RealConsts.o RegMan.o Scan.o ScanArgs.o StackMan.o \
		Standard.o Suffixes.o SymDef.o SymFile.o SymRef.o SymTab.o \
		Types.o $(LIBS)
		cp a.out $@ && rm a.out
$(T_ShowSym):	ShowSym.o
		$(M2C) $(MFLAGS) $(LDFLAGS) ShowSym.o $(LIBS)
		cp a.out $@ && rm a.out
#
testlex:	CodeGen.o Exception.o IdentSys.o Lex.o Machine.o Memory.o \
		o_Parser.o RealConsts.o Scan.o ScanArgs.o Standard.o \
		Suffixes.o SymDef.o SymFile.o SymTab.o Oberon.o
		$(M2C) $(MFLAGS) -o $@ $(LDFLAGS) CodeGen.o Exception.o \
		IdentSys.o Lex.o Machine.o Memory.o o_Parser.o RealConsts.o \
		Scan.o ScanArgs.o Standard.o Suffixes.o SymDef.o SymFile.o \
		SymTab.o Oberon.o $(LIBS)
# {precious}
.PRECIOUS:	SYM
# {dependencies}
SYM(Attributes.sy): Attributes.d SYM(Lex.sy) SYM(SymTab.sy)
		$(M2C) $(MFLAGS) Attributes.d
Attributes.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Attributes.sy)
SYM(CodeGen.sy): CodeGen.d SYM(IdentSys.sy) SYM(Lex.sy)
		$(M2C) $(MFLAGS) CodeGen.d
CodeGen.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Memory.sy) \
		SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(Storage.sy) SYM(Types.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy) SYM(CodeGen.sy) SYM(ConstExpr.sy) \
		SYM(EmitCode.sy) SYM(GenBlocks.sy) SYM(GenExpr.sy) \
		SYM(GenStmts.sy) SYM(Standard.sy) SYM(SymFile.sy)
SYM(ConstExpr.sy): ConstExpr.d SYM(Lex.sy)
		$(M2C) $(MFLAGS) ConstExpr.d
ConstExpr.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Scan.sy) SYM(Types.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(ConstExpr.sy)
SYM(EmitCode.sy): EmitCode.d SYM(Mnemonics.sy) SYM(Lex.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy)
		$(M2C) $(MFLAGS) EmitCode.d
EmitCode.o:	/usr/local/lib/modula/SYM(ASCII.sy) \
		/usr/local/lib/modula/SYM(Conversions.sy) SYM(Exception.sy) \
		SYM(IdentSys.sy) SYM(Memory.sy) SYM(Mnemonics.sy) \
		SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(StdIO.sy) \
		/usr/local/lib/modula/SYM(SysExit.sy) \
		/usr/local/lib/modula/SYM(SystemTypes.sy) SYM(Lex.sy) \
		SYM(Machine.sy) SYM(SymTab.sy) SYM(Attributes.sy) \
		SYM(EmitCode.sy)
SYM(Exception.sy): Exception.d
		$(M2C) $(MFLAGS) Exception.d
Exception.o:	/usr/local/lib/modula/SYM(Errno.sy) SYM(Exception.sy) \
		SYM(Scan.sy)
SYM(GenBasicOps.sy): GenBasicOps.d SYM(Types.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy)
		$(M2C) $(MFLAGS) GenBasicOps.d
GenBasicOps.o:	SYM(Exception.sy) SYM(Mnemonics.sy) SYM(Scan.sy) \
		SYM(Types.sy) SYM(Lex.sy) SYM(Machine.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy) SYM(EmitCode.sy) SYM(GenBasicOps.sy) \
		SYM(RegMan.sy) SYM(StackMan.sy) SYM(Standard.sy)
SYM(GenBlocks.sy): GenBlocks.d SYM(SymTab.sy) SYM(Attributes.sy)
		$(M2C) $(MFLAGS) GenBlocks.d
GenBlocks.o:	SYM(Exception.sy) SYM(Mnemonics.sy) SYM(Scan.sy) \
		SYM(ScanArgs.sy) /usr/local/lib/modula/SYM(Storage.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy) SYM(EmitCode.sy) SYM(GenBasicOps.sy) \
		SYM(GenBlocks.sy) SYM(RegMan.sy) SYM(StackMan.sy) \
		SYM(Standard.sy) SYM(GenTypes.sy)
SYM(GenExpr.sy): GenExpr.d SYM(Attributes.sy)
		$(M2C) $(MFLAGS) GenExpr.d
GenExpr.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Mnemonics.sy) \
		SYM(Scan.sy) /usr/local/lib/modula/SYM(Sys.sy) SYM(Lex.sy) \
		SYM(Machine.sy) SYM(SymTab.sy) SYM(Attributes.sy) \
		SYM(EmitCode.sy) SYM(GenBasicOps.sy) SYM(GenExpr.sy) \
		SYM(RegMan.sy) SYM(StackMan.sy) SYM(Standard.sy) \
		SYM(GenTypes.sy)
SYM(GenStmts.sy): GenStmts.d SYM(SymTab.sy) SYM(Attributes.sy)
		$(M2C) $(MFLAGS) GenStmts.d
GenStmts.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Mnemonics.sy) \
		SYM(Scan.sy) SYM(Lex.sy) SYM(Machine.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy) SYM(EmitCode.sy) SYM(GenBasicOps.sy) \
		SYM(GenExpr.sy) SYM(GenStmts.sy) SYM(Standard.sy) \
		SYM(GenTypes.sy)
SYM(GenTypes.sy): GenTypes.d SYM(SymTab.sy) SYM(Attributes.sy) \
		SYM(StackMan.sy)
		$(M2C) $(MFLAGS) GenTypes.d
GenTypes.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Mnemonics.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy) SYM(EmitCode.sy) SYM(GenBasicOps.sy) \
		SYM(RegMan.sy) SYM(StackMan.sy) SYM(Standard.sy) \
		SYM(GenTypes.sy)
SYM(IdentSys.sy): IdentSys.d
		$(M2C) $(MFLAGS) IdentSys.d
IdentSys.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Memory.sy)
SYM(Lex.sy):	Lex.d SYM(IdentSys.sy) SYM(Scan.sy) SYM(Types.sy)
		$(M2C) $(MFLAGS) Lex.d
Lex.o:		/usr/local/lib/modula/SYM(ASCII.sy) SYM(Exception.sy) \
		SYM(IdentSys.sy) SYM(Memory.sy) SYM(Scan.sy) \
		/usr/local/lib/modula/SYM(Strings.sy) SYM(Types.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(RealConsts.sy)
SYM(Machine.sy): Machine.d SYM(Types.sy)
		$(M2C) $(MFLAGS) Machine.d
Machine.o:	SYM(Scan.sy) SYM(Types.sy) SYM(Machine.sy)
SYM(Memory.sy):	Memory.d
		$(M2C) $(MFLAGS) Memory.d
Memory.o:	SYM(Exception.sy) SYM(Memory.sy) \
		/usr/local/lib/modula/SYM(Storage.sy) \
		/usr/local/lib/modula/SYM(SysLocation.sy) SYM(Machine.sy)
SYM(Messages.sy): Messages.d
		$(M2C) $(MFLAGS) Messages.d
Messages.o:	/usr/local/lib/modula/SYM(ASCII.sy) \
		/usr/local/lib/modula/SYM(Calendar.sy) \
		/usr/local/lib/modula/SYM(Conversions.sy) \
		/usr/local/lib/modula/SYM(Errno.sy) SYM(IdentSys.sy) \
		SYM(Memory.sy) SYM(Messages.sy) \
		/usr/local/lib/modula/SYM(SysPerror.sy) \
		/usr/local/lib/modula/SYM(TimeIO.sy)
SYM(Mnemonics.sy): Mnemonics.d
		$(M2C) $(MFLAGS) Mnemonics.d
Mnemonics.o:	SYM(Mnemonics.sy)
Oberon.o:	SYM(Parser.sy) SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(SysExit.sy) SYM(Lex.sy) \
		SYM(CodeGen.sy) SYM(SymRef.sy)
SYM(Parser.sy):	Parser.d
		$(M2C) $(MFLAGS) Parser.d
Parser.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Memory.sy) \
		SYM(Parser.sy) SYM(Scan.sy) SYM(ScanArgs.sy) \
		SYM(Suffixes.sy) SYM(Lex.sy) SYM(SymDef.sy) SYM(CodeGen.sy)
SYM(RealConsts.sy): RealConsts.d SYM(Lex.sy)
		$(M2C) $(MFLAGS) RealConsts.d
RealConsts.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Types.sy) SYM(Lex.sy) \
		SYM(RealConsts.sy)
RegMan.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Mnemonics.sy) \
		SYM(Scan.sy) SYM(Machine.sy) SYM(SymTab.sy) \
		SYM(Attributes.sy) SYM(EmitCode.sy) SYM(RegMan.sy)
SYM(RegMan.sy):	RegMan.d SYM(SymTab.sy) SYM(Attributes.sy)
		$(M2C) $(MFLAGS) RegMan.d
SYM(Scan.sy):	Scan.d
		$(M2C) $(MFLAGS) Scan.d
Scan.o:		/usr/local/lib/modula/SYM(ASCII.sy) \
		/usr/local/lib/modula/SYM(Clock.sy) \
		/usr/local/lib/modula/SYM(Conversions.sy) \
		/usr/local/lib/modula/SYM(Errno.sy) \
		/usr/local/lib/modula/SYM(Files.sy) \
		/usr/local/lib/modula/SYM(FtdIO.sy) SYM(Memory.sy) \
		SYM(Messages.sy) SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(StdIO.sy) \
		/usr/local/lib/modula/SYM(Strings.sy) \
		/usr/local/lib/modula/SYM(SysExit.sy) \
		/usr/local/lib/modula/SYM(SysPerror.sy) \
		/usr/local/lib/modula/SYM(TimeIO.sy)
SYM(ScanArgs.sy): ScanArgs.d /usr/local/lib/modula/SYM(Calendar.sy)
		$(M2C) $(MFLAGS) ScanArgs.d
ScanArgs.o:	/usr/local/lib/modula/SYM(Arguments.sy) \
		/usr/local/lib/modula/SYM(Calendar.sy) SYM(Exception.sy) \
		SYM(Memory.sy) SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(Strings.sy) SYM(Suffixes.sy) \
		SYM(Lex.sy)
ShowSym.o:	/usr/local/lib/modula/SYM(Archive.sy) \
		/usr/local/lib/modula/SYM(Calendar.sy) \
		/usr/local/lib/modula/SYM(FtdIO.sy) \
		/usr/local/lib/modula/SYM(InOut.sy) \
		/usr/local/lib/modula/SYM(StdIO.sy) \
		/usr/local/lib/modula/SYM(Strings.sy) \
		/usr/local/lib/modula/SYM(SysExit.sy) \
		/usr/local/lib/modula/SYM(SystemTypes.sy)
SYM(StackMan.sy): StackMan.d SYM(SymTab.sy) SYM(Attributes.sy)
		$(M2C) $(MFLAGS) StackMan.d
StackMan.o:	SYM(Exception.sy) SYM(Memory.sy) SYM(Machine.sy) \
		SYM(SymTab.sy) SYM(Attributes.sy) SYM(StackMan.sy)
SYM(Standard.sy): Standard.d SYM(IdentSys.sy) SYM(SymTab.sy)
		$(M2C) $(MFLAGS) Standard.d
Standard.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Memory.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(SymTab.sy) SYM(Standard.sy)
SYM(Suffixes.sy): Suffixes.d
		$(M2C) $(MFLAGS) Suffixes.d
Suffixes.o:	SYM(Exception.sy) /usr/local/lib/modula/SYM(Strings.sy) \
		SYM(Suffixes.sy)
SYM(SymDef.sy):	SymDef.d SYM(IdentSys.sy) SYM(Lex.sy)
		$(M2C) $(MFLAGS) SymDef.d
SymDef.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Memory.sy) \
		SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(Strings.sy) SYM(Types.sy) \
		SYM(Lex.sy) SYM(Machine.sy) SYM(SymDef.sy) SYM(SymTab.sy) \
		SYM(ConstExpr.sy) SYM(Standard.sy) SYM(SymFile.sy) \
		SYM(SymRef.sy)
SYM(SymFile.sy): SymFile.d SYM(IdentSys.sy) SYM(SymTab.sy)
		$(M2C) $(MFLAGS) SymFile.d
SymFile.o:	/usr/local/lib/modula/SYM(Archive.sy) \
		/usr/local/lib/modula/SYM(Calendar.sy) \
		/usr/local/lib/modula/SYM(Conversions.sy) SYM(Exception.sy) \
		/usr/local/lib/modula/SYM(FtdIO.sy) SYM(IdentSys.sy) \
		SYM(Memory.sy) SYM(Scan.sy) SYM(ScanArgs.sy) \
		/usr/local/lib/modula/SYM(StdIO.sy) \
		/usr/local/lib/modula/SYM(Strings.sy) SYM(Suffixes.sy) \
		/usr/local/lib/modula/SYM(SysExit.sy) \
		/usr/local/lib/modula/SYM(SysGetpid.sy) \
		/usr/local/lib/modula/SYM(SystemTypes.sy) SYM(Lex.sy) \
		SYM(SymTab.sy) SYM(Standard.sy) SYM(SymFile.sy)
SYM(SymRef.sy):	SymRef.d SYM(Scan.sy) SYM(ScanArgs.sy) SYM(SymTab.sy)
		$(M2C) $(MFLAGS) SymRef.d
SymRef.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Scan.sy) \
		SYM(ScanArgs.sy) /usr/local/lib/modula/SYM(StdIO.sy) \
		/usr/local/lib/modula/SYM(Storage.sy) SYM(SymTab.sy) \
		SYM(SymRef.sy)
SYM(SymTab.sy):	SymTab.d /usr/local/lib/modula/SYM(Calendar.sy) \
		SYM(IdentSys.sy) /usr/local/lib/modula/SYM(SystemTypes.sy) \
		SYM(Types.sy) SYM(Lex.sy)
		$(M2C) $(MFLAGS) SymTab.d
SymTab.o:	SYM(Exception.sy) SYM(IdentSys.sy) SYM(Memory.sy) \
		SYM(Scan.sy) SYM(SymTab.sy)
SYM(Types.sy):	Types.d
		$(M2C) $(MFLAGS) Types.d
Types.o:	SYM(Types.sy)
#
tags:		$(TAGSRC)
		mtags `echo $(TAGSRC) | word | grep -v ShowSym`
#
wc:		; wc -l $(SRC) | sort -n
#
SPOOL =		lp
pr:		Pr.date
Pr.date:	$(SRC)
		pr $? | $(SPOOL)
		-touch Pr.date
#
clean:		; rm -f $(OBJS) $(SYMS) $(REFS)
#
linkage:
		$(M2C) $(MFLAGS) -o $(T_Oberon) $(LDFLAGS) \
		Attributes.o CodeGen.o \
		ConstExpr.o EmitCode.o Exception.o GenBasicOps.o GenBlocks.o \
		GenExpr.o GenStmts.o GenTypes.o IdentSys.o Lex.o Machine.o \
		Memory.o Messages.o Mnemonics.o Oberon.o Parser.o \
		RealConsts.o RegMan.o Scan.o ScanArgs.o StackMan.o \
		Standard.o Suffixes.o SymDef.o SymFile.o SymRef.o SymTab.o \
		$(LIBS)
#
.PHONY:		checkout
checkout:	$(SRC)
