CFLAGS=	-g -O -I../include
LFLAGS=	-uhv -I../include -DKERBEROS -DCONNECT -DSUBPROC
PROFFLAG= -pg

SRCS=	tfile.c tunix.c tnet.c stubs.c dsname.c interface.c rpcall.c \
	conv_mgr.c host.c announce.c \
	res_module.c auth_krb.c dsc_enter.c auth_dum.c tmem.c

USPET=../ets/usp_et.o
RPCET=../ets/rpc_et.o
DSCET=../ets/dsc_et.o
ETS=$(USPET) $(RPCET)
OBJS=	tfile.o tunix.o tnet.o stubs.o dsname.o interface.o rpcall.o \
	conv_mgr.o host.o announce.o dsc_enter.o tmem.o
#	$(USPET) $(RPCET) $(DSCET)

KRBET=../ets/krb_et.o
KOBJS=	res_module.k.o auth_krb.o # ../ets/krb_et.o
NKOBJS=	res_module.nk.o auth_dum.o

all:	libds.a libdsk.a libds_p.a libdsk_p.a

libds.a:	$(OBJS) ${NKOBJS} $(USPET) $(ETS)
	ar cruv libds.a $(OBJS) ${NKOBJS} $(RPCET) $(USPET) $(DSCET)
	ranlib libds.a

libdsk.a:	$(OBJS) ${KOBJS} $(ETS) $(KRBET)
	ar cruv libdsk.a $(OBJS) ${KOBJS} $(RPCET) $(USPET) $(DSCET) $(KRBET)
	ranlib libdsk.a

libds_p.a:	${OBJS} ${NKOBJS} $(ETS)
	(cd profiled; \
	    ar cruv ../libds_p.a ${OBJS} ${NKOBJS} ../$(RPCET) ../$(USPET) ../$(DSCET) ; \
	    ranlib ../libds_p.a)

libdsk_p.a:	${OBJS} ${KOBJS} $(ETS) $(KRBET)
	(cd profiled; \
	    ar cruv ../libdsk_p.a ${OBJS} ${KOBJS} ../$(RPCET) ../$(USPET) ../$(KRBET) ../$(DSCET); \
	    ranlib ../libdsk_p.a)

lint:	llib-lds.ln

llib-lds.ln: $(SRCS)
	lint -Cds $(LFLAGS) $(SRCS)

# these should make profiled versions too
res_module.k.o: res_module.c
	rm -f res_module.k.o res_module.o profiled/res_module.k.o
	${CC} $(CFLAGS) -DKERBEROS -c -pg res_module.c
	mv res_module.o profiled/res_module.k.o
	${CC} $(CFLAGS) -DKERBEROS -c res_module.c
	mv res_module.o res_module.k.o

res_module.nk.o: res_module.c
	rm -f res_module.nk.o res_module.o profiled/res_module.nk.o
	${CC} $(CFLAGS) -c -pg res_module.c
	mv res_module.o profiled/res_module.nk.o
	${CC} ${CFLAGS} -c res_module.c
	mv res_module.o res_module.nk.o

install:

dist:	$(SRCS) Makefile
	-mkdir ../../dist/source/libds
	-mkdir ../../dist/source/libds/profiled
	cp -p $(SRCS) ../../dist/source/libds/
	cp -p Makefile ../../dist/source/libds/

.c.o:
	-rm -f $*.o profiled/$*.o
	${CC} -c ${PROFFLAG} ${CFLAGS} $*.c
	mv -f $*.o profiled/$*.o
	${CC} -c ${CFLAGS} $*.c

clean:
	rm -rf *~ \#* *.o libds.a libdsk.a profiled/ llib-lds.ln

# 'make depend' code
depend: ${CFILES}
	${CC} -M ${CFLAGS} ${SRCS} > makedep
	echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	cp Makefile Makefile.bak
	ed - Makefile < eddep
	rm eddep makedep

undepend:
	rm -f Makefile.bak
	cp Makefile Makefile.bak
	echo '/^# DO NOT DELETE THIS LINE/+1,$$c' >eddep
	echo '#' >>eddep
	echo '.' >>eddep
	echo 'w' >>eddep
	ed - Makefile < eddep
	rm -f eddep makedep
#
# the last line in the makefile should be...
# DO NOT DELETE THIS LINE
tfile.o : tfile.c /mit/gnu/vaxlib/gcc-include/stdio.h /usr/include/errno.h \
  ../include/discuss/tfile.h /mit/gnu/vaxlib/gcc-include/sys/types.h \
  /usr/include/sys/stat.h 
tunix.o : tunix.c /mit/gnu/vaxlib/gcc-include/stdio.h \
  ../include/discuss/tfile.h /usr/include/errno.h \
  /mit/gnu/vaxlib/gcc-include/sys/types.h /usr/include/sys/stat.h 
tnet.o : tnet.c /mit/gnu/vaxlib/gcc-include/stdio.h ../include/usp.h \
  ../include/usp_et.h ../include/discuss/tfile.h /usr/include/errno.h 
stubs.o : stubs.c ../include/discuss/interface.h ../include/discuss/types.h \
  ../include/rpc.h /mit/gnu/vaxlib/gcc-include/stdio.h ../include/usp.h \
  ../include/usp_et.h ../include/rpc_et.h ../include/discuss/tfile.h \
  ../include/discuss/acl.h 
dsname.o : dsname.c /mit/gnu/vaxlib/gcc-include/stdio.h \
  /usr/include/strings.h /usr/include/pwd.h \
  /mit/gnu/vaxlib/gcc-include/sys/file.h /usr/include/sys/param.h \
  /usr/include/machine/machparam.h /usr/include/signal.h \
  /mit/gnu/vaxlib/gcc-include/sys/types.h /usr/include/errno.h \
  /mit/gnu/vaxlib/gcc-include/assert.h ../include/discuss/dsname.h \
  ../include/discuss/dsc_et.h ../include/ansi.h 
interface.o : interface.c /mit/gnu/vaxlib/gcc-include/stdio.h \
  /usr/include/string.h /usr/include/strings.h /usr/include/errno.h \
  ../include/discuss/tfile.h ../include/discuss/interface.h \
  ../include/discuss/types.h ../include/discuss/acl.h \
  ../include/discuss/dsname.h ../include/rpc.h ../include/usp.h \
  ../include/usp_et.h ../include/rpc_et.h ../include/discuss/dsc_et.h 
rpcall.o : rpcall.c /mit/gnu/vaxlib/gcc-include/sys/types.h \
  /mit/gnu/vaxlib/gcc-include/stdio.h /usr/include/ctype.h \
  /usr/include/strings.h /usr/include/sys/socket.h /usr/include/netinet/in.h \
  /usr/include/netdb.h /usr/include/fcntl.h ../include/discuss/tfile.h \
  ../include/rpc.h ../include/usp.h ../include/usp_et.h ../include/rpc_et.h \
  ../include/config.h 
conv_mgr.o : conv_mgr.c /usr/include/errno.h /usr/include/string.h \
  /usr/include/strings.h ../include/rpc.h /mit/gnu/vaxlib/gcc-include/stdio.h \
  ../include/usp.h ../include/usp_et.h ../include/rpc_et.h 
host.o : host.c /usr/include/strings.h /usr/include/netdb.h \
  /usr/include/ctype.h 
announce.o : announce.c /mit/gnu/vaxlib/gcc-include/stdio.h \
  /mit/gnu/vaxlib/gcc-include/sys/file.h ../include/discuss/tfile.h \
  ../include/discuss/interface.h ../include/discuss/types.h \
  ../include/discuss/dsname.h ../include/discuss/dsc_et.h 
res_module.o : res_module.c ../include/rpc_et.h ../include/config.h \
  ../include/ansi.h /usr/include/netdb.h /usr/include/string.h \
  /usr/include/strings.h /usr/include/ctype.h /usr/include/sys/param.h \
  /usr/include/machine/machparam.h /usr/include/signal.h \
  /mit/gnu/vaxlib/gcc-include/sys/types.h /usr/include/sys/stat.h 
auth_krb.o : auth_krb.c /usr/include/strings.h /usr/include/ctype.h \
  /usr/include/krb.h ../include/mit-copyright.h /usr/include/des.h 
dsc_enter.o : dsc_enter.c /mit/gnu/vaxlib/gcc-include/stdio.h \
  /usr/include/strings.h /usr/include/ctype.h \
  /mit/gnu/vaxlib/gcc-include/sys/file.h ../include/discuss/tfile.h \
  ../include/discuss/types.h 
auth_dum.o : auth_dum.c 
tmem.o : tmem.c /usr/include/errno.h \
  /mit/gnu/vaxlib/gcc-include/sys/types.h /usr/include/sys/uio.h \
  ../include/discuss/tfile.h 
