/* 
 * Makefile for the FX (file exchange) protocol
 *
 * $Author: miki $
 * $Id: Imakefile,v 1.4 1992/08/19 17:34:24 miki Exp $
 *
 *
 * Copyright 1989, 1990 by the Massachusetts Institute of Technology.
 *
 * For copying and distribution information, please see the file
 * <mit-copyright.h>.
 *
 */

AnsiCC()

#if defined(_IBMR2) || defined(sun)
RPCGEN=rpcgen
INCLUDES = -I../include
#else
RPCGEN=../rpc3.9/usr/bin/rpcgen
INCLUDES = -I../rpc3.9/usr/include -I../include
#endif

/* Define KERBEROS for Kerberos support */
DEFKRB = -DKERBEROS

/* Define HESIOD for Hesiod support (not meaningful in protocol) */
/*#DEFHES = -DHESIOD */

/* Define MULTI for multiple server support */
DEFMULTI = -DMULTI

/* 
 * Define DEBUG for command debugging messages
 * Define DEBUGDB for db debugging messages
 * Define DEBUGMULTI for debugging multiple server support
 * Define MALLOC_LEAK for malloc scribble checking and function tracing
*/
DEFDEBUG = -DMALLOC_LEAK

DEFINES = ${INCLUDES} ${DEFKRB} ${DEFHES} ${DEFMULTI} ${DEFDEBUG}

build_program(ansify,ansify.o,,)
all:: local_prot_clnt.o fx_prot_svc.o fx_prot_clnt.o fx_prot_xdr.o

local_prot_clnt.o: local_prot_clnt.c
fx_prot_svc.o: fx_prot_svc.c
fx_prot_clnt.o: fx_prot_clnt.c
fx_prot_xdr.o: fx_prot_xdr.c

local_prot_clnt.c fx_prot_svc.c fx_prot_clnt.c fx_prot_xdr.c: fx_prot.x
	${RPCGEN} fx_prot.x
	cat xdr_extras.c >> fx_prot_xdr.c
	${RPCGEN} -m fx_prot.x -o fx_prot_svc.c
	rm -f local_prot_clnt.c fxtemp.c ../include/fx_prot.h
	./ansify < fx_prot.h > ../include/fx_prot.h && rm -f fx_prot.h
	grep -v "include <sys/time" < fx_prot_clnt.c > fxtemp.c
	rm -f fx_prot_clnt.c
	mv fxtemp.c fx_prot_clnt.c
	sed	-e 's/init_1/_init_1/' \
		-e 's/list_acl_1/_list_acl_1/' \
		-e 's/add_acl_1/_add_acl_1/' \
		-e 's/delete_acl_1/_delete_acl_1/' \
		-e 's/create_course_1/_create_course_1/' \
		-e 's/delete_course_1/_delete_course_1/' \
		-e 's/list_courses_1/_list_courses_1/' \
		-e 's/list_1/_list_1/' \
		-e 's/send_file_1/_send_file_1/' \
		-e 's/send_burst_1/_send_burst_1/' \
		-e 's/end_send_1/_end_send_1/' \
		-e 's/retrieve_file_1/_retrieve_file_1/' \
		-e 's/retrieve_burst_1/_retrieve_burst_1/' \
		-e 's/copy_1/_copy_1/' \
		-e 's/move_1/_move_1/' \
		-e 's/^delete_1/_delete_1/' \
		-e 's/portion_1/_portion_1/' \
		-e 's/krb_info_1/_krb_info_1/' \
		-e 's/kill_server_1/_kill_server_1/' \
		-e 's/server_stats_1/_server_stats_1/' \
		-e 's/server_quorum_1/_server_quorum_1/' \
		-e 's/server_store_1/_server_store_1/' \
		-e 's/server_delete_1/_server_delete_1/' \
		-e 's/server_commit_1/_server_commit_1/' \
		-e 's/server_end_course_1/_server_end_course_1/' \
		-e 's/server_requpdate_1/_server_requpdate_1/' \
		-e 's/server_start_upd_1/_server_start_upd_1/' \
		-e 's/server_end_upd_1/_server_end_upd_1/' \
		< fx_prot_clnt.c > local_prot_clnt.c

clean::
	rm -f *.o local_prot_clnt.c fx_prot_svc.c fx_prot_clnt.c fx_prot_xdr.c fx_prot.h
