# Defaults to GNU/960 tool set:
#
.LOGFILE .c_v(.c)
.LOGFILE .s_v(.s)
.LOGFILE .h_v(.h)

CC	= gcc960
OPT	= -O3 -D__FDDI
CFLAGS	= -DSTANLEY ${ARCH} -I${IDIR1} -I${IDIR2} -I${IDIR3} -I${IDIR4} -I${IDIR5} -I${IDIR6} -I${IDIR7} ${OPT} -mstrict-align
AS	= gas960
ASFLAGS	= ${ARCH}
LD	= gld960
TOOLSET = ${GFLAG}

GETOPTS	= -q
# Essential under System V, harmless elsewhere
SHELL = /bin/sh

# Standard rules
#
.c_v.c:
	=get $(GETOPTS) $<\($@\)

.h_v.h:
	=get $(GETOPTS) $<\($@\)

.s_v.s:
	=get $(GETOPTS) $<\($@\)

.c.o:
	${CC} ${CFLAGS} -c $*.c

.c.s:
	${CC} ${CFLAGS} -S -c $*.c

.s.o:
	${AS} ${ASFLAGS} -o $*.o $*.s


#------------------------------------------------------------------------------
# Where to find things (include files, ROM images)
#------------------------------------------------------------------------------
#ROOT	= /h/pvcs
ROOT	= junk			# so it can't clobber changes I've made
PIDIR1	= ${ROOT}/bridge/include	# where the .h_v files are
PIDIR2	= ${ROOT}/i960/include
PSDIR	= ${ROOT}/bridge/util		# where the .c_v and .s_v files are

IDIR1	= ../include
IDIR2	= ../../i960/include
IDIR3	= ../../fddi/fddicon/include
IDIR4	= ../../fddi/fddicon/smt/headers
IDIR5	= ../../fddi/fddicon/smt/dp83200if/headers
IDIR6	= ../../fddi/fddicon/include
IDIR7	= ../../fddi/fddicon/include

.PATH.h_v = ${PIDIR1} ;${PIDIR2} 
.PATH.h   = . ;${IDIR1} ;${IDIR2} 
.PATH.c_v = ${PSDIR}
.PATH.s_v = ${PSDIR}
#------------------------------------------------------------------------------
# TARG OBJECT FILES
#------------------------------------------------------------------------------
#UTIL_OBJS= utilasm.o util.o led.o dips.o dbdbuf.o ctrlio.o timer.o
UTIL_OBJS= utilasm.o util.o led.o dips.o ctrlio.o timer.o shmalloc.o dbdbuf.o
           


ARCH=-ACA

util: ${UTIL_OBJS} Makefile
	${LD} ${ARCH} -o util -r ${UTIL_OBJS}
	cp util ../lib/util.o

#------------------------------------------------------------------------------
# HEADER-FILE DEPENDENCIES
#------------------------------------------------------------------------------

util.o:   ${IDIR2}/types.h ${IDIR2}/krnl.h ${IDIR1}/memory.h ${IDIR1}/dips.h \
	  ${IDIR1}/led.h ${IDIR2}/uart.h ${IDIR1}/tmr.h ${IDIR1}/sys.h \
	  ${IDIR2}/eeprom.h ${IDIR1}/eeprecs.h ${IDIR2}/dbd.h ${IDIR1}/target.h

led.o:    ${IDIR2}/types.h ${IDIR1}/target.h ${IDIR1}/memory.h ${IDIR1}/led.h \
	  ${IDIR1}/sys.h ${IDIR2}/dbd.h

dips.o:   ${IDIR2}/types.h ${IDIR1}/target.h ${IDIR1}/memory.h ${IDIR1}/dips.h \
	  ${IDIR1}/sys.h ${IDIR2}/dbd.h

dbdbuf.o: ${IDIR2}/types.h ${IDIR1}/target.h ${IDIR2}/krnl.h ${IDIR2}/dbd.h

ctrlio.o: ${IDIR2}/types.h ${IDIR1}/target.h ${IDIR1}/memory.h ${IDIR1}/sys.h

timer.o:  ${IDIR2}/types.h ${IDIR1}/target.h ${IDIR2}/krnl.h ${IDIR1}/target.h \
	  ${IDIR1}/tmr.h
