# # Makefile for example dictionary application (conventional and RPC) # CFLAGS = -g ${INCLUDE} SRC = dict.c dict1.c dict2.c rdict.c rdict.x rdict_cif.c \ rdict_sif.c rdict_srp.c # # Define all program files # PROGS = dict rdict rdictd # # Define files generated by rpcgen # GFILES = rdict.h rdict_clnt.c rdict_svc.c rdict_xdr.c # # Define client-side and server-side object files # RDICT_OBJ = rdict_clnt.o rdict_cif.o rdict.o RDICTD_OBJ = rdict_svc.o rdict_sif.o rdict_srp.o all: ${PROGS} dict1.o dict2.o install: all @echo nothing to install. clean: rm *.o ${PROGS} ${GFILES} # # Original (conventional) application # dict: dict.c ${CC} ${CFLAGS} -o dict dict.c # # Test division into two parts to see if they compile # dict1.o: dict1.c ${CC} ${CFLAGS} -c dict1.c dict2.o: dict2.c ${CC} ${CFLAGS} -c dict2.c # # Dependencies for files generated by rpcgen # ${GFILES}: rdict.h rdict.c rdict.h: rdict.x rpcgen rdict.x # # Compile and link client-side files for RPC version # ${RDICT_OBJ}: ${CC} ${CFLAGS} -c $*.c rdict: ${RDICT_OBJ} rdict_xdr.o ${CC} ${CFLAGS} -o $@ ${RDICT_OBJ} rdict_xdr.o chmod 755 rdict # # Compile and link server-side files for RPC version # ${RDICTD_OBJ}: ${CC} ${CFLAGS} -c $*.c rdictd: ${RDICTD_OBJ} rdict_xdr.o ${CC} ${CFLAGS} -o $@ ${RDICTD_OBJ} rdict_xdr.o # # Compile XDR definitions # rdict_xdr.o: ${CC} ${CFLAGS} -c $*.c