OPT = -Wall -pedantic -O3 -std=c99

all: ggT.h server.o client.o ggT_svc.o ggT_clnt.o ggT_xdr.o
	gcc server.o ggT_svc.o ggT_xdr.o -o ggTServer -lnsl -lm
	gcc client.o ggT_clnt.o ggT_xdr.o -o ggTClient -lnsl

server.o: server.c ggT.h
	gcc $(OPT) -c server.c

client.o: client.c
	gcc $(OPT) -c client.c

ggT.h: ggT.x
	rpcgen ggT.x

ggT_svc.o: ggT_svc.c ggT.h
	gcc $(OPT) -c ggT_svc.c

ggT_clnt.o: ggT_clnt.c ggT.h
	gcc $(OPT) -c ggT_clnt.c

ggT_xdr.o: ggT_xdr.c ggT.h
	gcc $(OPT) -c ggT_xdr.c

clean:
	rm -f *.o ggT.h ggT_clnt.c ggT_svc.c ggT_xdr.c ggTClient ggTServer

