CC = gcc
CFLAGS = -g -O2 -D_REENTRANT -Wall
LIBS =   
LIBS_RPC = 
RPCGEN_OPTS = 

CLEANFILES = core core.* *.core *.o temp.* *.out typescript* \
		*.[234]c *.[234]h *.bsdi *.sparc *.uw
PROGS =	client server

all:	${PROGS}

square.h square_clnt.c square_svc.c square_xdr.c: square.x
	ls *.c
	rpcgen ${RPCGEN_OPTS} square.x               # erzeuge server-stub, client-stub und xdr-stub
	ls *.c

square_xdr.o: square_xdr.c
	${CC}  -c -o  square_xdr.o square_xdr.c       # uebersetzen xdr-stub

client.o: client.c
	${CC} ${CFLAGS} -c -o  client.o client.c               # uebersetzen client-code

square_clnt.o: square_clnt.c square.h
	${CC} ${CFLAGS} -c -o  square_clnt.o square_clnt.c     # uebersetzen clnt-stub

server.o: server.c
	${CC} ${CFLAGS} -c -o  server.o server.c               # uebersetzen server-code

square_svc.o: square_svc.c square.h
	${CC} ${CFLAGS} -c -o  square_svc.o square_svc.c       # uebersetzen server-stub

client:	square.h client.o square_clnt.o square_xdr.o
	${CC} ${CFLAGS} -o $@ client.o square_clnt.o square_xdr.o \
			${LIBS} ${LIBS_RPC} \
	                                             # binde client

server:	square.h server.o square_svc.o square_xdr.o
	${CC} ${CFLAGS} -o $@ server.o square_svc.o square_xdr.o \
			${LIBS} ${LIBS_RPC} \
	                                            # binde server

clean:
	rm -f ${PROGS} ${CLEANFILES} *_clnt.c *_svc.c *_xdr.c square.h
