# Make file for cmds/usr.etc/yp/ directory
#
# Things you might want to change.  Pass them in on the command line:
# ROOT - should point to the root where the commands will be installed
#        (e.g. /deliver/NFS/indnetwk)

ROOT=

PRODUCTS= /usr/sbin/makedbm \
	/usr/sbin/mkalias \
	/usr/sbin/newkey \
	/usr/sbin/stdethers \
	/usr/sbin/stdhosts \
	/usr/sbin/udpublickey \
	/usr/sbin/yppush \
	/usr/sbin/ypset \
	/usr/sbin/yppoll \
	/usr/sbin/ypxfr \
	/usr/sbin/ypxfrd \
	/usr/newconfig/var/yp/ypxfr_1perday \
	/usr/newconfig/var/yp/ypxfr_1perhour \
	/usr/newconfig/var/yp/ypxfr_2perday \
	/usr/newconfig/etc/netid \
	/usr/newconfig/var/yp/secureservers \
	/usr/newconfig/usr/sbin/ypinit \
	/usr/newconfig/var/yp/updaters \
	/usr/newconfig/var/yp/ypmake

MAKEPRODUCT=/usr/newconfig/var/yp/Makefile

TARGETS= makedbm mkalias newkey stdethers stdhosts udpublickey yppush ypset \
	yppoll ypxfr ypxfrd yp_Makefile ypxfr_1perday ypxfr_1perhour \
	ypxfr_2perday

SRCS=	makedbm.c mkalias.c newkey.c stdethers.c stdhosts.c udpublickey.c \
	yppush.c ypset.c yppoll.c ypxfr.c ypxfrd.c

INCLUDES= -I/source/NFS/$(LOGNAME)/include -I/usr/include -I/source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv

CCFLAGS= $(INCLUDES) $(CFLAGS)

# Defaults file containing the shell, compiler options, etc
BUILDRULES=/source/NFS/$(LOGNAME)/config/defaults

include ${BUILDRULES}

MKFLAGS=ROOT=${ROOT}

MAKE=/usr/ccs/bin/make ${MKFLAGS}

#Install database name
INSTALLDB=/source/NFS/$(LOGNAME)/config/installdb

#Script called to parse the install deliverable
INSTALLSCPT=/source/NFS/$(LOGNAME)/config/install_script

#Commands used by this Makefile
CP=/usr/bin/cp
MKDIR=/usr/bin/mkdir
MV=/usr/bin/mv
TMP=tmp

default: all

all: clean build install

clean: 
	$(RM) -f *.o $(TARGETS)
	$(RM) -rf $(TMP)
	@(cd revnetgroup; ${MAKE} clean)
	@(cd mknetid; ${MAKE} clean)

build: $(TARGETS)
	@(cd revnetgroup; ${MAKE} build)
	@(cd mknetid; ${MAKE} build)

makedbm:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o makedbm makedbm.c $(DBM_LIB) 

mkalias:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o mkalias mkalias.c $(NDBM_LIB) 

newkey:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o newkey newkey.c $(RPCSVC_LIB) $(MP_LIB)

stdethers:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o stdethers stdethers.c

stdhosts:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o stdhosts stdhosts.c

udpublickey:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o udpublickey udpublickey.c

yppush:	yp_enum_master.o yp_get_master.o
	$(CC) $(CCFLAGS) $(LDFLAGS) -o yppush yppush.c yp_enum_master.o yp_get_master.o

ypset:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o ypset ypset.c $(DBM_LIB)

yppoll:
	$(CC) $(CCFLAGS) $(LDFLAGS) -o yppoll yppoll.c $(DBM_LIB)

ypxfr:	trans_map.o ypxfrd_client.o ypxfrd_xdr.o
	$(CC) $(CCFLAGS) $(LDFLAGS) -o ypxfr ypxfr.c trans_map.o ypxfrd_client.o ypxfrd_xdr.o $(NISDBM_LIB) $(NDBM_LIB)

ypxfrd:	trans_map.o ypserv_net_secure.o ypxfrd_svc.o ypxfrd_xdr.o
	$(CC) $(CCFLAGS) $(LDFLAGS) -o ypxfrd ypxfrd_subr.c trans_map.o ypserv_net_secure.o ypxfrd_svc.o ypxfrd_xdr.o $(NDBM_LIB)

ypserv_net_secure.o:	/source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv/ypserv_net_secure.c
	$(CC) $(CCFLAGS) $(LDFLAGS) -c /source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv/ypserv_net_secure.c

trans_map.o:	/source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv/trans_map.c
	$(CC) $(CCFLAGS) $(LDFLAGS) -c /source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv/trans_map.c $(DBM_LIB)

ypxfrd_client.o:
	$(CC) $(CCFLAGS) $(LDFLAGS) -c ypxfrd_client.c $(NDBM_LIB)

ypxfrd_svc.o:
	$(CC) $(CCFLAGS) $(LDFLAGS) -c ypxfrd_svc.c $(NDBM_LIB)

ypxfrd_xdr.o:
	$(CC) $(CCFLAGS) $(LDFLAGS) -c ypxfrd_xdr.c $(NDBM_LIB)

yp_enum_master.o:
	$(CC) $(CCFLAGS) $(LDFLAGS) -c yp_enum_master.c

yp_get_master.o:
	$(CC) $(CCFLAGS) $(LDFLAGS) -c yp_get_master.c

trans_map_.o:	/source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv/trans_map.c
	$(CC) $(CCFLAGS) $(LDFLAGS) -c /source/NFS/$(LOGNAME)/cmds/usr.etc/ypserv/trans_map.c $(DBM_LIB) -o trans_map_.o

yp_Makefile:
	$(MKDIR) -p $(TMP)
	$(CP) make.script $(TMP)/Makefile

ypxfr_1perday:
	$(CP) ypxfr_1perda ypxfr_1perday

ypxfr_1perhour:
	$(CP) ypxfr_1perhr ypxfr_1perhour

ypxfr_2perday:
	$(CP) ypxfr_2perda ypxfr_2perday

install:
	for file in $(PRODUCTS) ; do \
		$(INSTALLSCPT) $$file $(INSTALLDB) ;  \
	done
	cd $(TMP) ; \
	for file in $(MAKEPRODUCT) ; do \
		$(INSTALLSCPT) $$file $(INSTALLDB) ;  \
	done
	@(cd revnetgroup; ${MAKE} install)
	@(cd mknetid; ${MAKE} install)
	
