thisconfigdir=.
myfulldir=lib/rpc/unit-test
mydir=.
BUILDTOP=$(REL)$(U)$(S)$(U)$(S)$(U)
LOCALINCLUDES = -I.
PROG_LIBPATH=-L$(TOPLIBD)
PROG_RPATH=$(KRB5_LIBDIR)

OBJS= client.o rpc_test_clnt.o rpc_test_svc.o server.o

all:: client server

client: client.o rpc_test_clnt.o $(GSSRPC_DEPLIBS) $(KRB5_BASE_DEPLIBS)
	$(CC_LINK) -o client client.o rpc_test_clnt.o \
		$(GSSRPC_LIBS) $(KRB5_BASE_LIBS)

server: server.o rpc_test_svc.o $(GSSRPC_DEPLIBS) $(KRB5_BASE_DEPLIBS)
	$(CC_LINK) -o server server.o rpc_test_svc.o \
		$(GSSRPC_LIBS) $(KRB5_BASE_LIBS)

client.o server.o: rpc_test.h

# If rpc_test.h and rpc_test_*.c do not work on your system, you can
# try using rpcgen by uncommenting these lines (be sure to uncomment
# then in the generated not Makefile.in).
# rpc_test.h rpc_test_clnt.c rpc_test_svc.c: rpc_test.x
# 	-rm -f rpc_test_clnt.c rpc_test_svc.c rpc_test.h
# 	-ln -s $(srcdir)/rpc_test.x .
# 	rpcgen -l rpc_test.x -o rpc_test_clnt.c
# 	rpcgen -m rpc_test.x -o rpc_test_svc.c
# 	rpcgen -h rpc_test.x -o rpc_test.h
# 
# clean::
# 	rm -f rpc_test.h rpc_test_clnt.c rpc_test_svc.c
# 

check unit-test:: unit-test-@DO_TEST@

unit-test-:
	@echo "+++"
	@echo "+++ WARNING: lib/rpc unit tests not run."
	@echo "+++ Either tcl, runtest, or Perl is unavailable."
	@echo "+++"

unit-test-ok:: unit-test-setup unit-test-body unit-test-cleanup

unit-test-body:: unit-test-body-tcp @UDP_TEST@

unit-test-body-tcp:
	RPC_TEST_SRVTAB=/tmp/rpc_test_v5srvtab $(ENV_SETUP) \
		$(RUNTEST) SERVER=./server CLIENT=./client \
		KINIT=$(BUILDTOP)/clients/kinit/kinit \
		KDESTROY=$(BUILDTOP)/clients/kdestroy/kdestroy \
		PROT=-t --tool rpc_test $(RUNTESTFLAGS)

unit-test-body-udp:
	RPC_TEST_SRVTAB=/tmp/rpc_test_v5srvtab $(ENV_SETUP) \
		$(RUNTEST) SERVER=./server CLIENT=./client \
		KINIT=$(BUILDTOP)/clients/kinit/kinit \
		KDESTROY=$(BUILDTOP)/clients/kdestroy/kdestroy \
		PROT=-u --tool rpc_test $(RUNTESTFLAGS)

unit-test-setup::
	$(ENV_SETUP) $(START_SERVERS)
	RPC_TEST_SRVTAB=/tmp/rpc_test_v5srvtab $(ENV_SETUP) $(srcdir)/rpc_test_setup.sh

unit-test-cleanup::
	$(ENV_SETUP) $(STOP_SERVERS)
	-rm -f /tmp/rpc_test_v5srvtab /tmp/krb5cc_rpc_test_fullrun

clean::
	$(RM) server client
	$(RM) dbg.log rpc_test.log rpc_test.sum

