.SUFFIXES: .so .no .fo .mo .2o
.c.no:;
.c.so:;
.c.fo:;
.c.mo:;
.c.2o:;


DESTDIR = /usr
TESTDIR = .

OPTS = -O
DECCFLAGS = $(OPTS) -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -DONEPASS -fD

DECC2FLAGS = $(OPTS) -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -UONEPASS -fD

DECFFLAGS = $(OPTS) -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -UONEPASS -DFORT -fD

MCFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -DONEPASS \
		-DMC68020 -DMC68881 -DIEEE

MC2FLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		-UONEPASS -DMC68020 -DMC68881 -DIEEE

M2CFLAGS = $(OPTS) -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		-DONEPASS -DMC68020 -DIEEE

M2C2FLAGS = $(OPTS) -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		-UONEPASS -DMC68020 -DIEEE

MFFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -UONEPASS \
		-DMC68020 -DMC68881 -DFORT -DIEEE

M2FFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -UONEPASS \
		-DMC68020 -DFORT -DIEEE

SKYCFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -DONEPASS \
		-DSKY -DNFSKY -DIEEE

SKYC2FLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		-UONEPASS -DSKY -DNFSKY -DIEEE

SKYFFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -UONEPASS \
		-DSKY -DFORT -DNFSKY -DIEEE

PCFLAGS = -p -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		-DONEPASS -DIEEE

CFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		 -DONEPASS -DIEEE

FFLAGS = -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
	-UONEPASS -DFORT -DIEEE

C2FLAGS = -O -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES -UONEPASS \
		-DIEEE

M=../mip

I=-I$M -I.

ALL=	rodata.no scan.no cgram.no xdefs.no pftn.no trees.no optim.no \
	local.no stab.no code.no comm1.no \
	reader.no allo.no match.no order.no local2.no table.no

MALL=	rodata.mo scan.mo cgram.mo xdefs.mo pftn.mo trees.mo optim.mo \
	local.mo stab.mo code.mo comm1.mo \
	reader.mo allo.mo match.mo order.mo local2.mo table.mo

M2ALL=	rodata.2o scan.2o cgram.2o xdefs.2o pftn.2o trees.2o optim.2o \
	local.2o stab.2o code.2o comm1.2o \
	reader.2o allo.2o match.2o order.2o local2.2o table.2o

SKYALL=	rodata.so scan.so cgram.so xdefs.so pftn.so trees.so optim.so \
	local.so stab.so code.so comm1.so \
	reader.so allo.so match.so order.so local2.so table.so

DECALL= rodata.fo scan.fo cgram.fo xdefs.fo pftn.fo trees.fo optim.fo \
	local.fo stab.fo code.fo comm1.fo \
	reader.fo allo.fo match.fo order.fo local2.fo table.fo

PASS0=	rodata.0o scan.0o cgram.0o xdefs.0o pftn.0o trees.0o optim.0o \
	local.0o stab.0o code.0o comm1.0o

PASS1=	reader.1o allo.1o match.1o comm2.1o order.1o local2.1o table.1o

FORT= fort.no freader.no fallo.no fmatch.no fcomm2.no forder.no \
		flocal2.no ftable.no

MFORT=   fort.mo freader.mo fallo.mo fmatch.mo fcomm2.mo forder.mo flocal2.mo \
	 ftable.mo

M2FORT=   fort.2o freader.2o fallo.2o fmatch.2o fcomm2.2o forder.2o flocal2.2o \
	 ftable.2o

SKYFORT= fort.so freader.so fallo.so fmatch.so fcomm2.so forder.so flocal2.so \
	 ftable.so

DECFORT= fort.fo freader.fo fallo.fo fmatch.fo fcomm2.fo forder.fo flocal2.fo \
	 ftable.fo

all:	mccom mf1 m2ccom m2f1
#all:	ccom f1 mccom mf1 skyccom skyf1 decccom decf1

ccom:	${ALL}
	$(CC) $(LDFLAGS) ${ALL} -o $(TESTDIR)/ccom
	@ echo finished ccom

mccom: ${MALL}
	$(CC) $(LDFLAGS) ${MALL} -o $(TESTDIR)/mccom
	@ echo finished mccom
#	@ echo finisned mccom | mail wendyt

m2ccom: ${M2ALL}
	$(CC) $(LDFLAGS) ${M2ALL} -o $(TESTDIR)/m2ccom
	@ echo finished m2ccom
#	@ echo finisned m2ccom | mail wendyt

skyccom: ${SKYALL}
	$(CC) $(LDFLAGS) ${SKYALL} -o $(TESTDIR)/skyccom
	@ echo finished skyccom

decccom: ${DECALL}
	$(CC) -fD $(LDFLAGS) ${DECALL} -o $(TESTDIR)/decccom
	@ echo finished decccom

pccom:  ${PALL}
	$(CC) -p $(LDFLAGS) ${PALL} -o $(TESTDIR)/pccom
	@ echo finished pccom

c0:	$(PASS0)
	$(CC) $(LDFLAGS) -o ${TESTDIR}/c0 $(PASS0)
	@ echo finished c0

c1:	$(PASS1)
	$(CC) $(LDFLAGS) -o ${TESTDIR}/c1 $(PASS1)
	@ echo finished c1

f1: 	${FORT}
	$(CC) -z $(LDFLAGS) -o $(TESTDIR)/f1 ${FORT}
	@ echo finished f1

mf1: 	${MFORT}
	$(CC) -z $(LDFLAGS) -o $(TESTDIR)/mf1 ${MFORT}
	@ echo finished mf1
#	@ echo finished mf1 | mail wendyt

m2f1: 	${M2FORT}
	$(CC) -z $(LDFLAGS) -o $(TESTDIR)/m2f1 ${M2FORT}
	@ echo finished m2f1
#	@ echo finished m2f1 | mail wendyt

skyf1: 	${SKYFORT}
	$(CC) -z $(LDFLAGS) -o $(TESTDIR)/skyf1 ${SKYFORT}
	@ echo finished skyf1

decf1:	${DECFORT}
	$(CC) -z $(LDFLAGS) -o $(TESTDIR)/decf1 ${DECFORT}
	@ echo finished decf1

trees.no: $M/manifest macdefs $M/mfile1 $M/trees.c
	$(CC) -c $(CFLAGS) $I  $M/trees.c
	mv trees.o trees.no
trees.mo: $M/manifest macdefs $M/mfile1 $M/trees.c
	$(CC) -c $(MCFLAGS) $I  $M/trees.c
	mv trees.o trees.mo
trees.2o: $M/manifest macdefs $M/mfile1 $M/trees.c
	$(CC) -c $(M2CFLAGS) $I  $M/trees.c
	mv trees.o trees.2o
trees.so: $M/manifest macdefs $M/mfile1 $M/trees.c
	$(CC) -c $(SKYCFLAGS) $I  $M/trees.c
	mv trees.o trees.so
trees.fo: $M/manifest macdefs $M/mfile1 $M/trees.c
	$(CC) -c $(DECCFLAGS) $I  $M/trees.c
	mv trees.o trees.fo
optim.no: $M/manifest macdefs $M/mfile1 $M/optim.c
	$(CC) -c $(CFLAGS) $I $M/optim.c
	mv optim.o optim.no
optim.mo: $M/manifest macdefs $M/mfile1 $M/optim.c
	$(CC) -c $(MCFLAGS) $I $M/optim.c
	mv optim.o optim.mo
optim.2o: $M/manifest macdefs $M/mfile1 $M/optim.c
	$(CC) -c $(M2CFLAGS) $I $M/optim.c
	mv optim.o optim.2o
optim.so: $M/manifest macdefs $M/mfile1 $M/optim.c
	$(CC) -c $(SKYCFLAGS) $I $M/optim.c
	mv optim.o optim.so
optim.fo: $M/manifest macdefs $M/mfile1 $M/optim.c
	$(CC) -c $(DECCFLAGS) $I $M/optim.c
	mv optim.o optim.fo
pftn.no: $M/manifest macdefs $M/mfile1 $M/pftn.c
	$(CC) -c $(CFLAGS) $I $M/pftn.c
	mv pftn.o pftn.no
pftn.mo: $M/manifest macdefs $M/mfile1 $M/pftn.c
	$(CC) -c $(MCFLAGS) $I $M/pftn.c
	mv pftn.o pftn.mo
pftn.2o: $M/manifest macdefs $M/mfile1 $M/pftn.c
	$(CC) -c $(M2CFLAGS) $I $M/pftn.c
	mv pftn.o pftn.2o
pftn.so: $M/manifest macdefs $M/mfile1 $M/pftn.c
	$(CC) -c $(SKYCFLAGS) $I $M/pftn.c
	mv pftn.o pftn.so
pftn.fo: $M/manifest macdefs $M/mfile1 $M/pftn.c
	$(CC) -c $(DECCFLAGS) $I $M/pftn.c
	mv pftn.o pftn.fo
code.no: $M/manifest macdefs $M/mfile1
	$(CC) -c $(CFLAGS) $I code.c
	mv code.o code.no
code.mo: $M/manifest macdefs $M/mfile1
	$(CC) -c $(MCFLAGS) $I code.c
	mv code.o code.mo
code.2o: $M/manifest macdefs $M/mfile1
	$(CC) -c $(M2CFLAGS) $I code.c
	mv code.o code.2o
code.so: $M/manifest macdefs $M/mfile1
	$(CC) -c $(SKYCFLAGS) $I code.c
	mv code.o code.so
code.fo: $M/manifest macdefs $M/mfile1
	$(CC) -c $(DECCFLAGS) $I code.c
	mv code.o code.fo
local.no: $M/manifest macdefs $M/mfile1
	$(CC) -c $(CFLAGS) $I local.c
	mv local.o local.no
local.mo: $M/manifest macdefs $M/mfile1
	$(CC) -c $(MCFLAGS) $I local.c
	mv local.o local.mo
local.2o: $M/manifest macdefs $M/mfile1
	$(CC) -c $(M2CFLAGS) $I local.c
	mv local.o local.2o
local.so: $M/manifest macdefs $M/mfile1
	$(CC) -c $(SKYCFLAGS) $I local.c
	mv local.o local.so
local.fo: $M/manifest macdefs $M/mfile1
	$(CC) -c $(DECCFLAGS) $I local.c
	mv local.o local.fo
stab.no: $M/manifest macdefs $M/mfile1
	$(CC) -c $(CFLAGS) $I stab.c
	mv stab.o stab.no
stab.mo: $M/manifest macdefs $M/mfile1
	$(CC) -c $(MCFLAGS) $I stab.c
	mv stab.o stab.mo
stab.2o: $M/manifest macdefs $M/mfile1
	$(CC) -c $(M2CFLAGS) $I stab.c
	mv stab.o stab.2o
stab.so: $M/manifest macdefs $M/mfile1
	$(CC) -c $(SKYCFLAGS) $I stab.c
	mv stab.o stab.so
stab.fo: $M/manifest macdefs $M/mfile1
	$(CC) -c $(DECCFLAGS) $I stab.c
	mv stab.o stab.fo
scan.no: $M/manifest macdefs $M/mfile1 $M/scan.c
	$(CC) -c $(CFLAGS) $I $M/scan.c
	mv scan.o scan.no
scan.mo: $M/manifest macdefs $M/mfile1 $M/scan.c
	$(CC) -c $(MCFLAGS) $I $M/scan.c
	mv scan.o scan.mo
scan.2o: $M/manifest macdefs $M/mfile1 $M/scan.c
	$(CC) -c $(M2CFLAGS) $I $M/scan.c
	mv scan.o scan.2o
scan.so: $M/manifest macdefs $M/mfile1 $M/scan.c
	$(CC) -c $(SKYCFLAGS) $I $M/scan.c
	mv scan.o scan.so
scan.fo: $M/manifest macdefs $M/mfile1 $M/scan.c
	$(CC) -c $(DECCFLAGS) $I $M/scan.c
	mv scan.o scan.fo
xdefs.no: $M/manifest $M/mfile1 macdefs $M/xdefs.c
	$(CC) -c $(CFLAGS) $I $M/xdefs.c
	mv xdefs.o xdefs.no
xdefs.mo: $M/manifest $M/mfile1 macdefs $M/xdefs.c
	$(CC) -c $(MCFLAGS) $I $M/xdefs.c
	mv xdefs.o xdefs.mo
xdefs.2o: $M/manifest $M/mfile1 macdefs $M/xdefs.c
	$(CC) -c $(M2CFLAGS) $I $M/xdefs.c
	mv xdefs.o xdefs.2o
xdefs.so: $M/manifest $M/mfile1 macdefs $M/xdefs.c
	$(CC) -c $(SKYCFLAGS) $I $M/xdefs.c
	mv xdefs.o xdefs.so
xdefs.fo: $M/manifest $M/mfile1 macdefs $M/xdefs.c
	$(CC) -c $(DECCFLAGS) $I $M/xdefs.c
	mv xdefs.o xdefs.fo
cgram.no: $M/manifest $M/mfile1 macdefs cgram.c
	$(CC) -c $(CFLAGS) $I cgram.c
	mv cgram.o cgram.no
cgram.mo: $M/manifest $M/mfile1 macdefs cgram.c
	$(CC) -c $(MCFLAGS) $I cgram.c
	mv cgram.o cgram.mo
cgram.2o: $M/manifest $M/mfile1 macdefs cgram.c
	$(CC) -c $(M2CFLAGS) $I cgram.c
	mv cgram.o cgram.2o
cgram.so: $M/manifest $M/mfile1 macdefs cgram.c
	$(CC) -c $(SKYCFLAGS) $I cgram.c
	mv cgram.o cgram.so
cgram.fo: $M/manifest $M/mfile1 macdefs cgram.c
	$(CC) -c $(DECCFLAGS) $I cgram.c
	mv cgram.o cgram.fo
rodata.no: rodata.c
	$(CC) $(CFLAGS) -S rodata.c
	./:rofix rodata.s
	$(AS) -o rodata.no rodata.s
	rm -f rodata.s
rodata.mo: rodata.c
	$(CC) $(MCFLAGS) -S rodata.c
	./:rofix rodata.s
	$(AS) -o rodata.mo rodata.s
	rm -f rodata.s
rodata.2o: rodata.c
	$(CC) $(M2CFLAGS) -S rodata.c
	./:rofix rodata.s
	$(AS) -o rodata.2o rodata.s
	rm -f rodata.s
rodata.so: rodata.c
	$(CC) $(SKYCFLAGS) -S rodata.c
	./:rofix rodata.s
	$(AS) -o rodata.so rodata.s
	rm -f rodata.s
rodata.fo: rodata.c
	$(CC) $(DECCFLAGS) -S rodata.c
	./:rofix rodata.s
	$(AS) -o rodata.fo rodata.s
	rm -f rodata.s
rodata.c cgram.c: $M/cgram.y
	$(YACC) $M/cgram.y
	rm -f rodata.c
	./:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef
	mv y.tab.c cgram.c
comm1.no: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
	$(CC) -c $(CFLAGS) $I $M/comm1.c
	mv comm1.o comm1.no
comm1.mo: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
	$(CC) -c $(MCFLAGS) $I $M/comm1.c
	mv comm1.o comm1.mo
comm1.2o: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
	$(CC) -c $(M2CFLAGS) $I $M/comm1.c
	mv comm1.o comm1.2o
comm1.so: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
	$(CC) -c $(SKYCFLAGS) $I $M/comm1.c
	mv comm1.o comm1.so
comm1.fo: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
	$(CC) -c $(DECCFLAGS) $I $M/comm1.c
	mv comm1.o comm1.fo
table.no: $M/manifest $M/mfile2 mac2defs macdefs table.c table.68020
	$(CC) $(CFLAGS) -S $I table.c
	./:rofix table.s
	$(AS) -o table.no table.s
	rm -f table.s
table.mo: $M/manifest $M/mfile2 mac2defs macdefs table.c table.68881
	$(CC) $(MCFLAGS) -S $I table.c
	./:rofix table.s
	$(AS) -o table.mo table.s
	rm -f table.s
table.2o: $M/manifest $M/mfile2 mac2defs macdefs table.c table.68881
	$(CC) $(M2CFLAGS) -S $I table.c
	./:rofix table.s
	$(AS) -o table.2o table.s
	rm -f table.s
table.so: $M/manifest $M/mfile2 mac2defs macdefs table.c
	$(CC) $(SKYCFLAGS) -S $I table.c
	./:rofix table.s
	$(AS) -o table.so table.s
	rm -f table.s
table.fo: $M/manifest $M/mfile2 mac2defs macdefs table.c
	$(CC) $(DECCFLAGS) -S $I table.c
	./:rofix table.s
	$(AS) -o table.fo table.s
	rm -f table.s
reader.no: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c
	$(CC) -c $(CFLAGS) $I $M/reader.c
	mv reader.o reader.no
reader.mo: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c
	$(CC) -c $(MCFLAGS) $I $M/reader.c
	mv reader.o reader.mo
reader.2o: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c
	$(CC) -c $(M2CFLAGS) $I $M/reader.c
	mv reader.o reader.2o
reader.so: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c
	$(CC) -c $(SKYCFLAGS) $I $M/reader.c
	mv reader.o reader.so
reader.fo: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c
	$(CC) -c $(DECCFLAGS) $I $M/reader.c
	mv reader.o reader.fo
local2.no: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(CFLAGS) $I local2.c
	mv local2.o local2.no
local2.mo: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(MCFLAGS) $I local2.c
	mv local2.o local2.mo
local2.2o: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(M2CFLAGS) $I local2.c
	mv local2.o local2.2o
local2.so: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(SKYCFLAGS) $I local2.c
	mv local2.o local2.so
local2.fo: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(DECCFLAGS) $I local2.c
	mv local2.o local2.fo
order.no: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(CFLAGS) $I order.c
	mv order.o order.no
order.mo: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(MCFLAGS) $I order.c
	mv order.o order.mo
order.2o: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(M2CFLAGS) $I order.c
	mv order.o order.2o
order.so: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(SKYCFLAGS) $I order.c
	mv order.o order.so
order.fo: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(DECCFLAGS) $I order.c
	mv order.o order.fo
match.no: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c
	$(CC) -c $(CFLAGS) $I $M/match.c
	mv match.o match.no
match.mo: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c
	$(CC) -c $(MCFLAGS) $I $M/match.c
	mv match.o match.mo
match.2o: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c
	$(CC) -c $(M2CFLAGS) $I $M/match.c
	mv match.o match.2o
match.so: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c
	$(CC) -c $(SKYCFLAGS) $I $M/match.c
	mv match.o match.so
match.fo: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c
	$(CC) -c $(DECCFLAGS) $I $M/match.c
	mv match.o match.fo
allo.no: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c
	$(CC) -c $(CFLAGS) $I $M/allo.c
	mv allo.o allo.no
allo.mo: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c
	$(CC) -c $(MCFLAGS) $I $M/allo.c
	mv allo.o allo.mo
allo.2o: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c
	$(CC) -c $(M2CFLAGS) $I $M/allo.c
	mv allo.o allo.2o
allo.so: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c
	$(CC) -c $(SKYCFLAGS) $I $M/allo.c
	mv allo.o allo.so
allo.fo: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c
	$(CC) -c $(DECCFLAGS) $I $M/allo.c
	mv allo.o allo.fo


trees.0o: $M/manifest macdefs $M/mfile1 $M/trees.c
	$(CC) -c $(C2FLAGS) $I  $M/trees.c ; mv trees.o trees.0o
optim.0o: $M/manifest macdefs $M/mfile1 $M/optim.c
	$(CC) -c $(C2FLAGS) $I $M/optim.c ; mv optim.o optim.0o
pftn.0o: $M/manifest macdefs $M/mfile1 $M/pftn.c
	$(CC) -c $(C2FLAGS) $I $M/pftn.c ; mv pftn.o pftn.0o
code.0o: $M/manifest macdefs $M/mfile1
	$(CC) -c $(C2FLAGS) $I code.c ; mv code.o code.0o
local.0o: $M/manifest macdefs $M/mfile1
	$(CC) -c $(C2FLAGS) $I local.c ; mv local.o local.0o
stab.0o: $M/manifest macdefs $M/mfile1
	$(CC) -c $(C2FLAGS) $I stab.c ; mv stab.o stab.0o
scan.0o: $M/manifest macdefs $M/mfile1 $M/scan.c
	$(CC) -c $(C2FLAGS) $I $M/scan.c ; mv scan.o scan.0o
xdefs.0o: $M/manifest $M/mfile1 macdefs $M/xdefs.c
	$(CC) -c $(C2FLAGS) $I $M/xdefs.c ; mv xdefs.o xdefs.0o
cgram.0o: $M/manifest $M/mfile1 macdefs cgram.c
	$(CC) -c $(C2FLAGS) $I cgram.c ; mv cgram.o cgram.0o
rodata.0o: rodata.c
	$(CC) $(C2FLAGS) -S rodata.c
	./:rofix rodata.s
	$(AS) -o rodata.0o rodata.s
	rm -f rodata.s
comm1.0o: $M/manifest $M/mfile1 $M/common macdefs $M/comm1.c
	$(CC) -c $(C2FLAGS) $I $M/comm1.c ; mv comm1.o comm1.0o

table.1o: $M/manifest $M/mfile2 mac2defs macdefs table.c
	$(CC) $(C2FLAGS) -S $I table.c
	./:rofix table.s
	$(AS) -o table.1o table.s
	rm -f table.s
reader.1o: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c
	$(CC) -c $(C2FLAGS) $I $M/reader.c ; mv reader.o reader.1o
local2.1o: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(C2FLAGS) $I local2.c ; mv local2.o local2.1o
order.1o: $M/manifest $M/mfile2 mac2defs macdefs
	$(CC) -c $(C2FLAGS) $I order.c ; mv order.o order.1o
match.1o: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c
	$(CC) -c $(C2FLAGS) $I $M/match.c ; mv match.o match.1o
allo.1o: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c
	$(CC) -c $(C2FLAGS) $I $M/allo.c ; mv allo.o allo.1o
comm2.1o: $M/manifest $M/mfile2 $M/common macdefs $M/comm2.c
	$(CC) -c $(C2FLAGS) $I $M/comm2.c ; mv comm2.o comm2.1o


shrink:
	rm *.o ccom
clean:
	rm -f *.*o *ccom *f1 cgram.c rodata.c
lintall:
	lint -hpv $I  $M/cgram.c $M/xdefs.c $M/scan.c $M/pftn.c \
		$M/trees.c $M/optim.c code.c local.c $M/reader.c \
		local2.c order.c $M/match.c $M/allo.c $M/comm1.c table.c

lint68020:
	lint -hpv $I -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \
		-DONEPASS -DMC68020 -DIEEE \
		cgram.c $M/xdefs.c $M/scan.c $M/pftn.c \
		$M/trees.c $M/optim.c code.c local.c $M/reader.c \
		local2.c order.c $M/match.c $M/allo.c $M/comm1.c table.c

lint68881:
	lint -hpv $I -DASSTRINGS -DSTABDOT -DLCOMM -DBUFSTDERR -DFLEXNAMES \ 
		-DONEPASS -DMC68020 -DMC68881 -DIEEE \
		cgram.c $M/xdefs.c $M/scan.c $M/pftn.c \
		$M/trees.c $M/optim.c code.c local.c $M/reader.c \
		local2.c order.c $M/match.c $M/allo.c $M/comm1.c table.c

fort.no: fort.h $M/fort.c
	$(CC) -c $(FFLAGS) $I $M/fort.c
	mv fort.o fort.no
fort.mo: fort.h $M/fort.c
	$(CC) -c $(MFFLAGS) $I $M/fort.c
	mv fort.o fort.mo
fort.2o: fort.h $M/fort.c
	$(CC) -c $(M2FFLAGS) $I $M/fort.c
	mv fort.o fort.2o
fort.so: fort.h $M/fort.c
	$(CC) -c $(SKYFFLAGS) $I $M/fort.c
	mv fort.o fort.so
fort.fo: fort.h $M/fort.c
	$(CC) -c $(DECFFLAGS) $I $M/fort.c
	mv fort.o fort.fo
freader.no: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c $M/freader.c
	$(CC) -c $(FFLAGS) $I $M/freader.c
	mv freader.o freader.no
freader.mo: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c $M/freader.c
	$(CC) -c $(MFFLAGS) $I $M/freader.c
	mv freader.o freader.mo
freader.2o: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c $M/freader.c
	$(CC) -c $(M2FFLAGS) $I $M/freader.c
	mv freader.o freader.2o
freader.so: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c $M/freader.c
	$(CC) -c $(SKYFFLAGS) $I $M/freader.c
	mv freader.o freader.so
freader.fo: $M/manifest $M/mfile2 mac2defs macdefs $M/reader.c $M/freader.c
	$(CC) -c $(DECFFLAGS) $I $M/freader.c
	mv freader.o freader.fo
fallo.no: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c $M/fallo.c
	$(CC) -c $(FFLAGS) $I $M/fallo.c
	mv fallo.o fallo.no
fallo.mo: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c $M/fallo.c
	$(CC) -c $(MFFLAGS) $I $M/fallo.c
	mv fallo.o fallo.mo
fallo.2o: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c $M/fallo.c
	$(CC) -c $(M2FFLAGS) $I $M/fallo.c
	mv fallo.o fallo.2o
fallo.so: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c $M/fallo.c
	$(CC) -c $(SKYFFLAGS) $I $M/fallo.c
	mv fallo.o fallo.so
fallo.fo: $M/manifest $M/mfile2 mac2defs macdefs $M/allo.c $M/fallo.c
	$(CC) -c $(DECFFLAGS) $I $M/fallo.c
	mv fallo.o fallo.fo
fmatch.no: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c $M/fmatch.c
	$(CC) -c $(FFLAGS) $I $M/fmatch.c
	mv fmatch.o fmatch.no
fmatch.mo: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c $M/fmatch.c
	$(CC) -c $(MFFLAGS) $I $M/fmatch.c
	mv fmatch.o fmatch.mo
fmatch.2o: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c $M/fmatch.c
	$(CC) -c $(M2FFLAGS) $I $M/fmatch.c
	mv fmatch.o fmatch.2o
fmatch.so: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c $M/fmatch.c
	$(CC) -c $(SKYFFLAGS) $I $M/fmatch.c
	mv fmatch.o fmatch.so
fmatch.fo: $M/manifest $M/mfile2 mac2defs macdefs $M/match.c $M/fmatch.c
	$(CC) -c $(DECFFLAGS) $I $M/fmatch.c
	mv fmatch.o fmatch.fo
ftable.no: $M/manifest $M/mfile2 mac2defs macdefs table.c $M/ftable.c
	$(CC) $(FFLAGS) -S $I $M/ftable.c
	./:rofix ftable.s
	$(AS) -o ftable.no ftable.s
	rm -f ftable.s
ftable.mo: $M/manifest $M/mfile2 mac2defs macdefs table.c $M/ftable.c table.68881
	$(CC) $(MFFLAGS) -S $I $M/ftable.c
	./:rofix ftable.s
	$(AS) -o ftable.mo ftable.s
	rm -f ftable.s
ftable.2o: $M/manifest $M/mfile2 mac2defs macdefs table.c $M/ftable.c table.68881
	$(CC) $(M2FFLAGS) -S $I $M/ftable.c
	./:rofix ftable.s
	$(AS) -o ftable.2o ftable.s
	rm -f ftable.s
ftable.so: $M/manifest $M/mfile2 mac2defs macdefs table.c $M/ftable.c
	$(CC) $(SKYFFLAGS) -S $I $M/ftable.c
	./:rofix ftable.s
	$(AS) -o ftable.so ftable.s
	rm -f ftable.s
ftable.fo: $M/manifest $M/mfile2 mac2defs macdefs table.c $M/ftable.c
	$(CC) $(DECFFLAGS) -S $I $M/ftable.c
	./:rofix ftable.s
	$(AS) -o ftable.fo ftable.s
	rm -f ftable.s
forder.no: $M/manifest $M/mfile2 mac2defs macdefs order.c $M/forder.c
	$(CC) -c $(FFLAGS) $I $M/forder.c
	mv forder.o forder.no
forder.mo: $M/manifest $M/mfile2 mac2defs macdefs order.c $M/forder.c
	$(CC) -c $(MFFLAGS) $I $M/forder.c
	mv forder.o forder.mo
forder.2o: $M/manifest $M/mfile2 mac2defs macdefs order.c $M/forder.c
	$(CC) -c $(M2FFLAGS) $I $M/forder.c
	mv forder.o forder.2o
forder.so: $M/manifest $M/mfile2 mac2defs macdefs order.c $M/forder.c
	$(CC) -c $(SKYFFLAGS) $I $M/forder.c
	mv forder.o forder.so
forder.fo: $M/manifest $M/mfile2 mac2defs macdefs order.c $M/forder.c
	$(CC) -c $(DECFFLAGS) $I $M/forder.c
	mv forder.o forder.fo
flocal2.no: $M/manifest $M/mfile2 mac2defs macdefs local2.c $M/flocal2.c
	$(CC) -c $(FFLAGS) $I $M/flocal2.c
	mv flocal2.o flocal2.no
flocal2.mo: $M/manifest $M/mfile2 mac2defs macdefs local2.c $M/flocal2.c
	$(CC) -c $(MFFLAGS) $I $M/flocal2.c
	mv flocal2.o flocal2.mo
flocal2.2o: $M/manifest $M/mfile2 mac2defs macdefs local2.c $M/flocal2.c
	$(CC) -c $(M2FFLAGS) $I $M/flocal2.c
	mv flocal2.o flocal2.2o
flocal2.so: $M/manifest $M/mfile2 mac2defs macdefs local2.c $M/flocal2.c
	$(CC) -c $(SKYFFLAGS) $I $M/flocal2.c
	mv flocal2.o flocal2.so
flocal2.fo: $M/manifest $M/mfile2 mac2defs macdefs local2.c $M/flocal2.c
	$(CC) -c $(DECFFLAGS) $I $M/flocal2.c
	mv flocal2.o flocal2.fo
fcomm2.no: $M/manifest $M/mfile2 $M/common macdefs $M/comm2.c $M/fcomm2.c
	$(CC) -c $(FFLAGS) $I $M/fcomm2.c
	mv fcomm2.o fcomm2.no
fcomm2.mo: $M/manifest $M/mfile2 $M/common macdefs $M/comm2.c $M/fcomm2.c
	$(CC) -c $(MFFLAGS) $I $M/fcomm2.c
	mv fcomm2.o fcomm2.mo
fcomm2.2o: $M/manifest $M/mfile2 $M/common macdefs $M/comm2.c $M/fcomm2.c
	$(CC) -c $(M2FFLAGS) $I $M/fcomm2.c
	mv fcomm2.o fcomm2.2o
fcomm2.so: $M/manifest $M/mfile2 $M/common macdefs $M/comm2.c $M/fcomm2.c
	$(CC) -c $(SKYFFLAGS) $I $M/fcomm2.c
	mv fcomm2.o fcomm2.so
fcomm2.fo: $M/manifest $M/mfile2 $M/common macdefs $M/comm2.c $M/fcomm2.c
	$(CC) -c $(DECFFLAGS) $I $M/fcomm2.c
	mv fcomm2.o fcomm2.fo

fort.no freader.no fallo.no fmatch.no ftable.no forder.no flocal2.no \
	fcomm2.no: $M/mfile2 $M/manifest macdefs mac2defs

fort.mo freader.mo fallo.mo fmatch.mo ftable.mo forder.mo flocal2.mo \
	fcomm2.mo: $M/mfile2 $M/manifest macdefs mac2defs

fort.2o freader.2o fallo.2o fmatch.2o ftable.2o forder.2o flocal2.2o \
	fcomm2.2o: $M/mfile2 $M/manifest macdefs mac2defs

fort.so freader.so fallo.so fmatch.so ftable.so forder.so flocal2.so \
	fcomm2.so: $M/mfile2 $M/manifest macdefs mac2defs

fort.fo freader.fo fallo.fo fmatch.fo ftable.fo forder.fo flocal2.fo \
	fcomm2.fo: $M/mfile2 $M/manifest macdefs mac2defs

install:	all
	install -s m2ccom ${DESTDIR}/lib/m2ccom
	install -s m2f1 ${DESTDIR}/lib/m2f1
	install -s mccom ${DESTDIR}/lib/mccom
	install -s mf1 ${DESTDIR}/lib/mf1
