#### Makefile for drac ## Tuneables # Paths INSTALL? = install EBIN = ${PREFIX}/sbin MAN = ${PREFIX}/man/man ETC_DIR = ${PREFIX}/etc # OS-Dependant settings # Choose one of this pair... # -DTI_RPC # Transport-independant RPC # -DSOCK_RPC # Socket RPC # Choose one of this pair... # -DFCNTL_LOCK # fcntl() locking # -DFLOCK_LOCK # flock() locking # Choose one of this pair... # -DSYSINFO # hostname from sysinfo() # -DGETHOST # hostname from gethostname() # If rpcgen -C is specified below... # -DDASH_C # ANSI-C mode # Settings for postfix and exim # Do not set these for sendmail # -DREQ_HASH # requires hash format # -DCIDR_KEY # keys in CIDR format # -DTERM_KD # keys and data nul-terminated .if defined(WITH_TI_RPC) DEFS+= -DTI_RPC .else DEFS+= -DSOCK_RPC .endif .if defined(WITH_POSTFIX) || defined(WITH_POSTFIX_DB3) || defined(WITH_POSTFIX_DB41) DEFS+= -DFLOCK_LOCK -DGETHOST -DDASH_C -DTERM_KD .elif defined(WITH_EXIM) DEFS+= -DFLOCK_LOCK -DGETHOST -DDASH_C -DTERM_KD -DREQ_HASH -DCIDR_KEY .else DEFS+= -DFLOCK_LOCK -DGETHOST -DDASH_C .endif .if defined(WITH_FOREGROUND) DEFS+= -DRPC_SVC_FG .endif # Compiler flags CC? = cc RANLIB = : CFLAGS+= $(DEFS) -g -I${PREFIX}/include -DDBFILE=\"$(ETC_DIR)/dracd.db\" -DALFILE=\"$(ETC_DIR)/dracd.allow\" #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-3.1.17/build_unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db-2.4.14/Unix #CFLAGS = $(DEFS) -g -I/usr/local/src/db/db.1.85/PORT/sunos.5.2/include LDLIBS = #LDLIBS = -L/usr/local/src/db/db-3.1.17/build_unix -lnsl -ldb #LDLIBS = -L/usr/local/src/db/db-2.4.14/Unix -lnsl -ldb #LDLIBS = -L/usr/local/src/db/db.1.85/PORT/sunos.5.2 -lnsl -ldb TSTLIBS = -L. -ldrac #RPCGENFLAGS = RPCGENFLAGS = -C -I .if defined(WITH_POSTFIX_DB3) CFLAGS+= -I${LOCALBASE}/include/db3 LDLIBS+= -L${LOCALBASE}/lib -ldb3 .endif .if defined(WITH_POSTFIX_DB41) CFLAGS+= -I${LOCALBASE}/include/db41 LDLIBS+= -L${LOCALBASE}/lib -ldb41 .endif # Man sections MANLIB = 3 MANADM = 1m ## Nothing to change after this point # Package files DOCFILES = COPYRIGHT Changes INSTALL PORTING README version.h dracauth.3 \ rpc.dracd.1m dracd.allow-sample dracd-setup dracd-setup.linux MAKEFILE = Makefile RPC_SRC = drac.x LIB_SRC = dracauth.c SVC_SRC = rpc.dracd.c TST_SRC = testing.c PACKAGE = $(DOCFILES) $(MAKEFILE) $(RPC_SRC) $(LIB_SRC) $(SVC_SRC) $(TST_SRC) # Final targets CLIENT = testing SERVER = rpc.dracd LIBRAR = libdrac.a # rpcgen output RPC_H = drac.h RPC_XDR = drac_xdr.c RPC_SVC = drac_svc.c RPC_CLNT = drac_clnt.c RPC_ALL = $(RPC_H) $(RPC_XDR) $(RPC_SVC) $(RPC_CLNT) # Object files LIB_OBJ = dracauth.o SVC_OBJ = rpc.dracd.o TST_OBJ = testing.o H_OBJS = drac_xdr.o drac_svc.o drac_clnt.o $(SVC_OBJ) $(LIB_OBJ) L_OBJS = $(LIB_OBJ) drac_xdr.o drac_clnt.o S_OBJS = $(SVC_OBJ) drac_xdr.o drac_svc.o # Rules all: $(CLIENT) $(SERVER) $(RPC_ALL): $(RPC_SRC) rpcgen $(RPCGENFLAGS) $(RPC_SRC) $(H_OBJS): $(RPC_H) $(LIB_OBJ) $(SVC_OBJ): $(MAKEFILE) $(LIBRAR): $(L_OBJS) rm -f $@ ar cq $@ $(L_OBJS) $(RANLIB) $@ $(CLIENT): $(TST_OBJ) $(LIBRAR) $(CC) -o $(CLIENT) $(TST_OBJ) $(TSTLIBS) $(SERVER): $(S_OBJS) $(CC) -o $(SERVER) $(S_OBJS) $(LDLIBS) clean: rm -f core $(RPC_ALL) $(H_OBJS) $(TST_OBJ) $(CLIENT) \ $(SERVER) $(LIBRAR) tar: $(PACKAGE) tar cf drac.tar $(PACKAGE) install: $(SERVER) $(INSTALL) -c -o bin -g bin -m 0755 $(SERVER) $(EBIN) install-man: $(SERVER).1m dracauth.3 $(INSTALL) -c -m 0444 $(SERVER).1m $(MAN)$(MANADM)/$(SERVER).$(MANADM) $(INSTALL) -c -m 0444 dracauth.3 $(MAN)$(MANLIB)/dracauth.$(MANLIB)