#----------------------------------------------------------------------------
#				GIP Standalone Makefile
#----------------------------------------------------------------------------
#
PATH=	/bin:/usr/bin:/etc
CC=	cc
AS=	as
LD= ld
AR=	ar
RANLIB= ranlib
SIZE=	size
LIB=	/usr/lib/libc.a

#
# The following is for GIP's with a Writable Control Store attached.
#CFLAGS=	-O -k -DHASWCS
#
CFLAGS=	-O -k -DKERNEL -DSTANDALONE \
	-DDATE=\""`../../conf/newdate \"+%D\"`"\" -DREV=\"${REV}\" ${CLOCAL}

LFLAGS=-S -N -x -e start -T 8000

CLOCAL=		-20 -DVBUS

#
#---------------------------------------------------------------------------
#             -- Source files --
#
CFILES= erode.c uc_test.c mem_test.c hw_test.c graphics.c fifo.c dasm.c\
		gip_test.c

OFILES=	erode.o uc_test.o mem_test.o hw_test.o graphics.o fifo.o dasm.o

#
#---------------------------------------------------------------------------
#             -- Definitions for each bus/processor configurations --
#

#   -----   VBUS M68020
V20FLAGS=	-DMC68020 -DV20
V20LIB=		../V20/libsa.a
V20CFLAGS=	${CFLAGS} ${V20FLAGS} -c
V20OFILES=	${OFILES} gip_test.V20.o 

#   -----   VBUS M68025
V25FLAGS=	-DMC68025 -DV25
V25LIB=		../V25/libsa.a
V25CFLAGS=	${CFLAGS} ${V25FLAGS} -c
V25OFILES=	${OFILES} gip_test.V25.o 

#   -----   VBUS M68030
V30FLAGS=	-DMC68030 -DV30
V30LIB=		../V30/libsa.a
V30CFLAGS=	${CFLAGS} ${V30FLAGS} -c
V30OFILES=	${OFILES} gip_test.V30.o 

#   -----   VBUS M68020
VQXFLAGS=	-DMC68020 -DVQX
VQXLIB=		../VQX/libsa.a
VQXCFLAGS=	${CFLAGS} ${VQXFLAGS} -c
VQXOFILES=	${OFILES} gip_test.VQX.o 

#
#---------------------------------------------------------------------------
#             -- Suffix Rules for each bus/processor configurations --
#
.SUFFIXES: .V20.o .V25.o .V30.o .VQX.o

.c.V20.o:; ${CC} ${V20CFLAGS} $*.c; mv $*.o $@
.c.V25.o:; ${CC} ${V25CFLAGS} $*.c; mv $*.o $@
.c.V30.o:; ${CC} ${V30CFLAGS} $*.c; mv $*.o $@
.c.VQX.o:; ${CC} ${VQXCFLAGS} $*.c; mv $*.o $@

#
#---------------------------------------------------------------------------
#                      -- make all definitions --
#

STD=	V20 V25 V30 VQX

all:	${STD}
	@echo All done.

V20:	../V20/gip
V25:	../V25/gip
V30:	../V30/gip
VQX:	../VQX/gip


../V20/gip:		../V20/M.o ${V20OFILES} ${V20LIB}
	${LD} ${LFLAGS} ../V20/M.o ${V20OFILES}	${V20LIB} ${LIB} -o $@

../V25/gip:		../V25/M.o ${V25OFILES} ${V25LIB}
	${LD} ${LFLAGS} ../V25/M.o ${V25OFILES} ${V25LIB} ${LIB} -o $@

../V30/gip:		../V30/M.o ${V30OFILES} ${V30LIB}
	${LD} ${LFLAGS} ../V30/M.o ${V30OFILES} ${V30LIB} ${LIB} -o $@

../VQX/gip:		../VQX/M.o ${VQXOFILES} ${VQXLIB}
	${LD} ${LFLAGS} ../VQX/M.o ${VQXOFILES} ${VQXLIB} ${LIB} -o $@


#
#---------------------------------------------------------------------------
#                               -- misc --
#
listing:
	pr *.h ${CFILES} | lpr

clean:
	-rm -f ${OFILES} gip_test.V*.o ../V*/gip

depend: 
	${CC} -M  ${CFLAGS} ${CFILES} | \
	sed -e ':loop' \
	    -e 's/\.\.\/[^ /]*\/\.\./../' \
	    -e 't loop' | \
	awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
		       else rec = rec " " $$2 } } \
	      END { print rec } ' > makedep
	echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	cp Makefile Makefile.bak
	ex - Makefile < eddep
	rm -f eddep makedep



#
#-----------------------------------------------------------------------------
# DO NOT DELETE THIS LINE -- make depend uses it

erode.o: erode.c ./graphics.h ./fifo.h
uc_test.o: uc_test.c ./graphics.h ./fifo.h ./color.h
mem_test.o: mem_test.c ./fifo.h ./graphics.h
hw_test.o: hw_test.c ./fifo.h ./graphics.h
graphics.o: graphics.c ./graphics.h ./fifo.h ./font.h ./patt.h ./color.h
fifo.o: fifo.c ./fifo.h ./graphics.h
dasm.o: dasm.c
gip_test.o: gip_test.c /usr/include/stdio.h ./fifo.h ./graphics.h ./dm_adr.h
