#
# 5799-WZQ (C) COPYRIGHT = NONE
# LICENSED MATERIALS - PROPERTY OF IBM
#
# $Header:Makefile 12.0$ 
# $ACIS:Makefile 12.0$ 
# $Source: /ibm/acis/usr/src/ibm/rvd/server/RCS/Makefile,v $ 

PROGRAM	      = rvdsrv

# Define the RVD_USER symbol if this server is to be run on systems with
# the RVD user code installed.  Also, to make a system without Kerberos
# authentication support, do a "make KERBEROS= KRBLIBS=" or delete the 
# definitions on the appropriate line.

RVD_USER      = -DRVD_USER
# KERBEROS      = -DKERBEROS

TEST=

CFLAGS	      = -O -I$(HDRDIR) $(RVD_USER) $(KERBEROS) -DSERVER ${TEST}

DEST	      = .
DESTDIR=
INSTDIR=/usr/ibm


# This sort of thing might be a bad idea, as RCS file aren't distributed...
#.DEFAULT:
#	co $@

# following is for the vax (but you probably don't really need it anyway)
# .c.x:
# 	${CC} -c -S ${CFLAGS} $*.c
# 	${C2} $*.s | sed -f vax_asm.sed | ${AS} -o $*.x
# 	rm -f $*.s

LHDRS	      = conn.h \
		extern.h \
		packet.h

HDRDIR	      = ../h

HDRS	      = $(HDRDIR)/ctl_pkt.h \
		$(HDRDIR)/ctl_msgs.h \
		$(HDRDIR)/custom.h \
		$(HDRDIR)/logging.h \
		$(HDRDIR)/notice.h \
		$(HDRDIR)/obj.h \
		$(HDRDIR)/physd.h \
		$(HDRDIR)/queue.h \
		$(HDRDIR)/rvd_types.h \
		$(HDRDIR)/rvdadd.h \
		$(HDRDIR)/virtd.h

SYSHDRS       = /sys/netinet/rvd.h \
		/sys/netinet/rvdconst.h

LDFLAGS       = 

LIBDIR        = ../lib

LIBS          = $(LIBDIR)/libcan.a \
		$(LIBDIR)/libls.a

# KRBLIBS       = -lkrb -ldes

LLIBS         = $(LIBDIR)/llib-libcan.ln \
		$(LIBDIR)/llib-libls.ln

MAKEFILE      = Makefile

OBJS          =	bughalt.o \
		conn.o \
		ctl_pkt.o \
		ctl_funs.o \
		ctl_msgs.o \
		ctl_net.o \
		globals.o \
		krb_auth.o \
		main.o \
		net.o \
		packet.o \
		physd.o \
		protocol.o \
		rdwr.o \
		spins.o \
		trace.o \
		vers.o \
		virtd.o \
		queue.o \
		rvd_cksum.o

PRINT	      = pressify

CSRCS	      = bughalt.c \
		conn.c \
		ctl_pkt.c \
		ctl_funs.c \
		ctl_msgs.c \
		ctl_net.c \
		globals.c \
		krb_auth.c \
		main.c \
		net.c \
		packet.c \
		physd.c \
		protocol.c \
		rdwr.c \
		spins.c \
		trace.c \
		vers.c \
		virtd.c \
		queue.c \
		rvd_cksum.c

ASRCS =		vax_queue.s \
		vax_rvd_cksum.s

SRCS =		$(CSRCS) \
		$(ASRCS)

all:		$(PROGRAM)

$(PROGRAM):	$(OBJS) ${LIBS}
		@echo -n "Loading $(PROGRAM) ... "
		@$(CC) $(LDFLAGS) $(OBJS) ${LIBS} ${KRBLIBS} -o $(PROGRAM)
		@echo "done"

$(HDRS):
#		cd $(HDRDIR) ; co `basename $@`

$(LIBS):
		cd $(LIBDIR) ; make `basename $@`

$(LLIBS):
		cd $(LIBDIR) ; make `basename $@`

clean:;		rm -f $(OBJS) *~ core a.out ${PROGRAM} vers.c

depend:;	@mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) DEST=$(DEST)

index:;		@ctags -wx $(LHDRS) $(HDRS) $(SRCS)

vers.c:		newvers.sh
		@./newvers.sh

install:	$(PROGRAM)
		install -c $(PROGRAM) ${DESTDIR}${INSTDIR}/${PROGRAM}

lint:		$(HDRS) $(LHDRS) $(CSRCS) $(LLIBS)
		lint -I$(HDRDIR) $(CSRCS) $(LLIBS)

objects:	$(OBJS)

print:;		@$(PRINT) $(MAKEFILE) vax_asm.sed $(LHDRS) $(HDRS) $(SYSHDRS) $(SRCS)

program:        $(PROGRAM)

tags:           $(LHDRS) $(HDRS) $(SRCS)
		ctags $(LHDRS) $(HDRS) $(SRCS)

update:		$(DEST)/$(PROGRAM)

$(DEST)/$(PROGRAM): $(SRCS) $(LIBS) $(LHDRS) $(HDRS)
		@make -f $(MAKEFILE) DEST=$(DEST) install

###
bughalt.o:	$(HDRDIR)/logging.h $(HDRDIR)/notice.h $(HDRDIR)/rvd_types.h  \
		extern.h

conn.o:		$(HDRDIR)/notice.h $(HDRDIR)/rvd_types.h $(HDRDIR)/ctl_msgs.h \
		$(HDRDIR)/rvdadd.h $(HDRDIR)/custom.h    $(HDRDIR)/logging.h  \
		$(HDRDIR)/ctl_pkt.h $(HDRDIR)/obj.h 	 $(HDRDIR)/queue.h    \
		$(HDRDIR)/physd.h  $(HDRDIR)/virtd.h packet.h conn.h extern.h

ctl_funs.o:	$(HDRDIR)/ctl_msgs.h $(HDRDIR)/ctl_pkt.h $(HDRDIR)/logging.h  \
		$(HDRDIR)/notice.h   $(HDRDIR)/rvd_types.h extern.h

ctl_msgs.o:	$(HDRDIR)/ctl_pkt.h $(HDRDIR)/notice.h $(HDRDIR)/rvd_types.h  \
		extern.h

ctl_net.o:	$(HDRDIR)/ctl_pkt.h $(HDRDIR)/logging.h $(HDRDIR)/notice.h    \
		$(HDRDIR)/rvd_types.h extern.h

ctl_pkt.o:	$(HDRDIR)/ctl_msgs.h $(HDRDIR)/ctl_pkt.h $(HDRDIR)/logging.h  \
		$(HDRDIR)/notice.h   $(HDRDIR)/rvd_types.h extern.h

globals.o:	$(HDRDIR)/custom.h $(HDRDIR)/notice.h $(HDRDIR)/obj.h         \
		$(HDRDIR)/queue.h  $(HDRDIR)/rvd_types.h extern.h packet.h

krb_auth.o:	$(HDRDIR)/notice.h

main.o:		$(HDRDIR)/ctl_pkt.h $(HDRDIR)/custom.h    $(HDRDIR)/logging.h \
		$(HDRDIR)/notice.h  $(HDRDIR)/obj.h       $(HDRDIR)/physd.h   \
		$(HDRDIR)/queue.h   $(HDRDIR)/rvd_types.h $(HDRDIR)/rvdadd.h  \
		$(HDRDIR)/virtd.h conn.h extern.h packet.h

net.o:		$(HDRDIR)/custom.h $(HDRDIR)/logging.h $(HDRDIR)/notice.h     \
		$(HDRDIR)/obj.h    $(HDRDIR)/queue.h   $(HDRDIR)/rvd_types.h  \
		$(HDRDIR)/rvdadd.h extern.h packet.h

packet.o:	$(HDRDIR)/custom.h $(HDRDIR)/notice.h    $(HDRDIR)/obj.h      \
		$(HDRDIR)/queue.h  $(HDRDIR)/rvd_types.h $(HDRDIR)/rvdadd.h   \
		extern.h packet.h

physd.o:	$(HDRDIR)/ctl_msgs.h $(HDRDIR)/ctl_pkt.h $(HDRDIR)/logging.h  \
		$(HDRDIR)/notice.h   $(HDRDIR)/obj.h     $(HDRDIR)/physd.h    \
		$(HDRDIR)/queue.h    $(HDRDIR)/rvd_types.h $(HDRDIR)/virtd.h  \
		extern.h

protocol.o:	$(HDRDIR)/custom.h $(HDRDIR)/notice.h    $(HDRDIR)/obj.h      \
		$(HDRDIR)/queue.h  $(HDRDIR)/rvd_types.h $(HDRDIR)/rvdadd.h   \
		extern.h packet.h

rdwr.o:		$(HDRDIR)/custom.h    $(HDRDIR)/logging.h $(HDRDIR)/notice.h  \
		$(HDRDIR)/obj.h       $(HDRDIR)/physd.h   $(HDRDIR)/queue.h   \
		$(HDRDIR)/rvd_types.h $(HDRDIR)/rvdadd.h  $(HDRDIR)/virtd.h   \
		conn.h extern.h packet.h

spins.o:	$(HDRDIR)/custom.h $(HDRDIR)/logging.h $(HDRDIR)/notice.h     \
		$(HDRDIR)/obj.h    $(HDRDIR)/physd.h   $(HDRDIR)/queue.h      \
		$(HDRDIR)/rvd_types.h $(HDRDIR)/rvdadd.h $(HDRDIR)/virtd.h    \
		conn.h extern.h packet.h

trace.o:	$(HDRDIR)/custom.h $(HDRDIR)/notice.h    $(HDRDIR)/obj.h      \
		$(HDRDIR)/queue.h  $(HDRDIR)/rvd_types.h $(HDRDIR)/rvdadd.h   \
		packet.h

virtd.o:	$(HDRDIR)/ctl_msgs.h $(HDRDIR)/ctl_pkt.h $(HDRDIR)/custom.h   \
		$(HDRDIR)/logging.h  $(HDRDIR)/notice.h  $(HDRDIR)/obj.h      \
		$(HDRDIR)/physd.h    $(HDRDIR)/queue.h   $(HDRDIR)/rvd_types.h\
		$(HDRDIR)/virtd.h extern.h
