CC=gcc

# Define this so that the server doesn't jump off into a background process that
# we'd then have to hunt the PID for and kill
DEFINES=-DRPC_SVC_FG


####
printmsg: printmsg.c
	$(CC) -o printmsg printmsg.c

msg: msg.x
	rpcgen msg.x

msgserver: rmessage.c msg
	$(CC) $(DEFINES) -o msg_server msg_svc.c rmessage.c

msgclient: rprintmsg.c msg
	$(CC) $(DEFINES) -o rprintmsg msg_clnt.c rprintmsg.c

msgall: printmsg msg server client

msgclean:
	rm -f rprintmsg msg_server msg_clnt.c msg_svc.c





#####
add2: add2.x
	rpcgen add2.x

add2s: add2 add2_server.c
	$(CC) $(DEFINES) -o add2serv add2_svc.c add2_xdr.c add2_server.c

add2c: add2 add2_client.c
	$(CC) $(DEFINES) -o add2 add2_clnt.c add2_xdr.c add2_client.c

add2all: add2 add2s add2c

add2clean:
	rm -f add2 add2serv add2.h add2_xdr.c add2_clnt.c add2_svc.c



#####
addN: addN.x
	rpcgen addN.x


addNs: addN addN_server.c
	$(CC) $(DEFINES) -o addNserv addN_svc.c addN_xdr.c addN_server.c

addNc: addN addN_client.c
	$(CC) $(DEFINES) -o addN addN_clnt.c addN_xdr.c addN_client.c

addNall: addN addNs addNc

addNclean:
	rm -f addN addNserv addN.h addN_xdr.c addN_clnt.c addN_svc.c

#####
addNv: addNvar.x
	rpcgen addNvar.x


addNvs: addNv addNv_server.c
	$(CC) $(DEFINES) -o addNvserv addNvar_svc.c addNvar_xdr.c addNv_server.c

addNvc: addNv addNv_client.c
	$(CC) $(DEFINES) -o addNv addNvar_clnt.c addNvar_xdr.c addNv_client.c

addNvall: addNv addNvs addNvc

addNvclean:
	rm -f addNv addNvserv addNvar.h addNvar_xdr.c addNvar_clnt.c addNvar_svc.c

allclean: msgclean add2clean addNclean addNvclean
	rm *~