# @(#)Makefile 8.2 (Berkeley) 4/2/94
PROG= chpass
-SRCS= chpass.c edit.c field.c pw_copy.c pw_scan.c pw_util.c table.c util.c
-BINOWN= root
+CFLAGS+=-Wall
+SRCS= chpass.c edit.c field.c pw_copy.c pw_scan.c pw_util.c pw_yp.c \
+ table.c util.c ypxfr_misc.c ${GENSRCS}
+GENSRCS=yp.h yp_clnt.c yppasswd.h yppasswd_clnt.c yppasswd_private.h \
+ yppasswd_private_clnt.c yppasswd_private_xdr.c
BINMODE=4555
.PATH: ${.CURDIR}/../../usr.sbin/pwd_mkdb ${.CURDIR}/../../usr.sbin/vipw \
${.CURDIR}/../../libexec/ypxfr \
LINKS+= ${BINDIR}/chpass ${BINDIR}/ypchpass
LINKS+= ${BINDIR}/chpass ${BINDIR}/ypchfn
LINKS+= ${BINDIR}/chpass ${BINDIR}/ypchsh
+
MLINKS= chpass.1 chfn.1 chpass.1 chsh.1
+MLINKS+= chpass.1 ypchpass.1 chpass.1 ypchfn.1 chpass.1 ypchsh.1
+
COPTS+= -DYP -I. -I${.CURDIR}/../../libexec/ypxfr \
-I${.CURDIR}/../../usr.sbin/rpc.yppasswdd -Dyp_error=warnx
-SRCS+= yppasswd_private_xdr.c yppasswd_comm.c yp_clnt.c \
- yppasswd_clnt.c pw_yp.c ypxfr_misc.c
-CLEANFILES= yp_clnt.c yp.h yppasswd_clnt.c yppasswd.h \
- yppasswd_private_xdr.c yppasswd_private.h
+#Some people need this, uncomment to activate
+#COPTS+= -DRESTRICT_FULLNAME_CHANGE
DPADD= ${LIBRPCSVC} ${LIBCRYPT}
LDADD+= -lrpcsvc -lcrypt
+CLEANFILES= ${GENSRCS}
+
RPCGEN= rpcgen -C
RPCSRC= ${DESTDIR}/usr/include/rpcsvc/yp.x
RPCSRC_PW= ${DESTDIR}/usr/include/rpcsvc/yppasswd.x
yp.h: ${RPCSRC}
${RPCGEN} -h -o ${.TARGET} ${RPCSRC}
-yp_clnt.c: ${RPCSRC} yp.h
+yp_clnt.c: ${RPCSRC}
${RPCGEN} -l -o ${.TARGET} ${RPCSRC}
yppasswd.h: ${RPCSRC_PW}
${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PW}
-yppasswd_clnt.c: ${RPCSRC_PW} yppasswd.h
+yppasswd_clnt.c: ${RPCSRC_PW}
${RPCGEN} -l -o ${.TARGET} ${RPCSRC_PW}
yppasswd_private.h: ${RPCSRC_PRIV}
${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PRIV}
-yppasswd_private_xdr.c: ${RPCSRC_PRIV} yppasswd_private.h
+yppasswd_private_xdr.c: ${RPCSRC_PRIV}
${RPCGEN} -c -o ${.TARGET} ${RPCSRC_PRIV}
+yppasswd_private_clnt.c: ${RPCSRC_PRIV}
+ ${RPCGEN} -l -o ${.TARGET} ${RPCSRC_PRIV}
+
beforeinstall:
- [ ! -e ${DESTDIR}${BINDIR}/chpass ] || \
- chflags noschg ${DESTDIR}${BINDIR}/chpass
+.for i in chpass chfn chsh ypchpass ypchfn ypchsh
+ [ ! -e ${DESTDIR}${BINDIR}/$i ] || \
+ chflags noschg ${DESTDIR}${BINDIR}/$i
+.endfor
afterinstall:
chflags schg ${DESTDIR}${BINDIR}/chpass