SVC=calculator
CC=gcc
CFLAGS=-g -DRPC_SVC_FG
CXX=g++
CXXFLAGS=-g
LDFLAGS=-lnsl

all: client server

client: client.o $(SVC)_clnt.o $(SVC)_xdr.o
	$(CXX) -o $@ $^ $(LDFLAGS)

server: server.o $(SVC)_svc.o $(SVC)_xdr.o
	$(CXX) -o $@ $^ $(LDFLAGS)

client.o server.o $(SVC)_clnt.o $(SVC)_svc.o $(SVC)_xdr.o: $(SVC).h

$(SVC).h $(SVC)_xdr.c $(SVC)_clnt.c $(SVC)_svc.c: $(SVC).x
	rpcgen -NC $(SVC).x

clean:
	rm -f client server *.o
	rm -f $(SVC).h $(SVC)_xdr.c $(SVC)_clnt.c $(SVC)_svc.c
	rm -f [Mm]akefile.$(SVC) $(SVC)_client.c $(SVC)_server.c

examples:
	rpcgen -aN $(SVC).x
