#  Copyright     Digital Equipment Corporation & INRIA     1988, 1989

OBJECT = KerN.o bnInit.o bnDivide.o bnCmp.o bzf.o bz.o 
KERNH = BigNum.h 
CFLAGS = -c 

# include bnMult for only some ports
all:	bnInit.o bnDivide.o bnCmp.o bz.o

scratch:
	rm -f *.o

# How to choose the machine dependent version. All produce KerN.o
KerN.o: KerN.c Makefile
	echo "The Default is KerN written in C with digits on 32 bits"
	make C32 CC="$(CC)" CFLAGS=$(CFLAGS) 

C16: scratch
	$(CC) $(CFLAGS) -DDIGITon16BITS KerN.c
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon16BITS" \
	     OBJECT="$(OBJECT) bnMult.o" all

sparc:  C32

C32:    
	$(CC) $(CFLAGS) -DDIGITon32BITS KerN.c
	$(CC) $(CFLAGS) -DDIGITon32BITS bnMult.c
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" \
	     OBJECT="$(OBJECT) bnMult.o" all

68K: scratch
	as 68KerN.s -o KerN.o
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" \
	     OBJECT="$(OBJECT) bnMult.o" all

vax: scratch
	as vaxKerN.s -o KerN.o
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" all

ns: scratch
	as nsKerN.s -o KerN.o
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" \
	     OBJECT="$(OBJECT) bnMult.o" all

mips:	mipsKerN.o
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" all

mipsKerN.o: mipsKerN.s
	as -w mipsKerN.s -o KerN.o

pyramid: scratch
	as pyramidKerN.s -o KerN.o
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" \
	     OBJECT="$(OBJECT) bnMult.o" all

i960: scratch
	as i960KerN.s -o KerN.o
	make CC="$(CC)" CFLAGS="$(CFLAGS) -DDIGITon32BITS" \
	     OBJECT="$(OBJECT) bnMult.o" all

# Level N
bnInit.o: bnInit.c $(KERNH)
	$(CC) $(CFLAGS) bnInit.c

bnMult.o: bnMult.c $(KERNH)
	$(CC) $(CFLAGS) bnMult.c

bnDivide.o: bnDivide.c $(KERNH)
	$(CC) $(CFLAGS) bnDivide.c

bnCmp.o: bnCmp.c $(KERNH)
	$(CC) $(CFLAGS) bnCmp.c

# Level Z
bz.o: bz.c BigZ.h $(KERNH)
	$(CC) $(CFLAGS) bz.c


