#  (C) Copyright 1990,1991 by Wade L. Hennessey. All rights reserved. 

solaris: sparc solaris-loader.o solaris-socket.o solaris-cache-flush.o

sunos4:	sparc sunos4-loader.o sunos4-socket.o sunos4-cache-flush.o

sparc:  common sparc-only
	(cd bignum; make sparc CC="$(CC)")

sparc-only: sparc-integer-arith.o  sparc-interrupts.o \
            sparc-apply.o

mips:	common generic-apply.o mips-only
	(cd bignum; make mips CC="$(CC)")

mips-only: mips-integer-arith.o mips-loader.o mips-interrupts.o 

sun-68k: common sparc-integer-arith.o sparc-loader.o sparc-interrupts.o

common:	 chars.o arith.o  array.o bignum generic-loader.o  \
	 memory.o io.o closure.o init.o time.o error.o funcall.o \
	 dynamic.o misc.o eval-code.o


dynamic.o: lisp.h
	$(CC) -c    dynamic.c

time.o:	lisp.h
	$(CC) -c    time.c

init.o:	lisp.h
	$(CC) -c    init.c

error.o: lisp.h
	$(CC) -c    error.c

funcall.o: lisp.h
	$(CC) -c    funcall.c

misc.o:	lisp.h
	$(CC) -c    misc.c

# Eval always needs debugging info if we want to debug
# interpreted code. GCC with -O and -g seems to screw up the debugging
# info, so we just use cc.
eval-code.o:	lisp.h
	$(CC) -c  -g eval-code.c

memory.o:	lisp.h
	$(CC) -c    memory.c

chars.o:	lisp.h
	$(CC) -c    chars.c

arith.o:	lisp.h
	$(CC) -c    arith.c

array.o:	lisp.h
	$(CC) -c    array.c	

io.o:		lisp.h
	$(CC) -c    io.c

closure.o:	lisp.h
	$(CC) -c    closure.c

solaris-socket.o:	lisp.h
	$(CC) -c    -DUNIXCONN -o socket.o solaris-socket.c

sunos4-socket.o:	lisp.h
	$(CC) -c    -DUNIXCONN -o socket.o sunos4-socket.c

mips-interrupts.o:	lisp.h
	$(CC) -c    -o interrupts.o mips-interrupts.c

sparc-interrupts.o:	lisp.h
	$(CC) -c    -o interrupts.o sparc-interrupts.c

generic-loader.o:	lisp.h
	$(CC) -c    generic-loader.c

mips-loader.o:	lisp.h
	$(CC) -c    mips-loader.c

solaris-loader.o:	lisp.h
	$(CC) -c    -o loader.o solaris-loader.c

sunos4-loader.o:	lisp.h
	$(CC) -c    -o loader.o sunos4-loader.c

mips-integer-arith.o:	mips-integer-arith.s
	$(AS) -o integer-arith.o mips-integer-arith.s

sparc-integer-arith.o: sparc-integer-arith.s
	$(AS) -o integer-arith.o sparc-integer-arith.s

generic-apply.o: generic-apply.c
	$(CC) -c  -o apply.o generic-apply.c

sparc-apply.o: sparc-apply.s
	$(AS) -o apply.o sparc-apply.s

solaris-cache-flush.o:	solaris-cache-flush.s
	$(AS) -o cache-flush.o solaris-cache-flush.s

sunos4-cache-flush.o:	sunos4-cache-flush.s
	$(AS) -o cache-flush.o sunos4-cache-flush.s

clean: 
	rm -f *.o bignum/*.o
