# $Header: Makefile,v 2.204 89/10/08 09:45:30 keith Stab $
CC = CC
CCDEBUG =
# For no multiple inheritance support
MI =
# Enable support for multiple inheritance
#MI = -DMI
I = /usr/include/CC
NIHCLLIB = ../lib/libnihcl.a
NIHVECLIB = libnihclvec.a
CFLAGS = ${MI} -I${NIHCLINCDIR} ${CCDEBUG} +p
# Target Directories
NIHCLLIBDIR = /usr/lib
NIHCLINCDIR = ../lib
NIHCLSRCDIR = /usr/local/src/nihcl

include make.all

.SUFFIXES: ..c .s
.c.a:
	echo $< >>targetlist
.c.o:
	${CC} ${CFLAGS} -c $<
.c..c:
	${CC} ${CFLAGS} +i -c $<
.c.s:
	${CC} ${CFLAGS} +i -S $<

.PRECIOUS: ${NIHVECLIB}

all: always ${NIHVECLIB}

${NIHVECLIB}: ${OBJECTS}
	${CC} ${CFLAGS} -c `cat targetlist`
	ar rv $@ *.o
	rm -f *.o
	-ranlib ${NIHVECLIB}

always:
	-rm -f targetlist *.o
	${MAKE} generic

generic:
	${MAKE} -f genericmake ${VECS}

install:
	cp lib*.a ${NIHCLLIBDIR}
	-for i in lib*.a; do (cd ${NIHCLLIBDIR}; ranlib -t $$i); done
	-mkdir ${NIHCLINCDIR}
	cp *.h ${NIHCLINCDIR}
	-mkdir ${NIHCLSRCDIR}
	cp *.c ${NIHCLSRCDIR}

depend:
	-rm -f *..c
	echo 'VECS =' *Vec.h | sed -e 's#\([a-zA-Z0-9_]*\)\.h#\1.c#g' >make.all
	${MAKE} generic
	echo 'OBJECTS =' *.c | sed -e 's#\([a-zA-Z0-9_]*\)\.c#${NIHVECLIB}(\1.o)#g' >>make.all
	touch make.tdep
	makedepend -I$I -I${NIHCLINCDIR} -f make.tdep -- ${CFLAGS} -- *.c
	sed -e 's#\([a-zA-Z0-9_]*\.o\)#${NIHVECLIB}(\1)#g' make.tdep | sed -e 's#$I/#$$I/#g' | sed -e 's#${NIHCLINCDIR}/#$${NIHCLINCDIR}/#g' >make.dep
	sed -e 's#$I/#$$I/#g' make.tdep | sed -e 's#${NIHCLINCDIR}/#$${NIHCLINCDIR}/#g' >MAKE.dep
	rm make.tdep*

clean:
	-chmod u+w *Vec.c
	-rm -f targetlist *.o *Vec.c *..c *.s ${NIHVECLIB} make.tdep*

include make.dep
