]> git.cameronkatri.com Git - pw-darwin.git/blobdiff - chpass/Makefile
Add nsswitch support. By creating an /etc/nsswitch.conf file, you can
[pw-darwin.git] / chpass / Makefile
index a1e2947522509711dd047851250f282038396cd0..8b2db0b19407ea4fc3477f1d7cb3e81ab3eb8b23 100644 (file)
@@ -1,27 +1,71 @@
 #      @(#)Makefile    8.2 (Berkeley) 4/2/94
+# $FreeBSD$
 
 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
-CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I${.CURDIR}/../../usr.sbin/vipw
+.PATH: ${.CURDIR}/../../usr.sbin/pwd_mkdb ${.CURDIR}/../../usr.sbin/vipw \
+       ${.CURDIR}/../../libexec/ypxfr \
+       ${.CURDIR}/../../usr.sbin/rpc.yppasswdd \
+       ${.CURDIR}/../../lib/libc/gen
+CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I${.CURDIR}/../../usr.sbin/vipw -I${.CURDIR}/../../lib/libc/gen
 LINKS= ${BINDIR}/chpass ${BINDIR}/chfn
 LINKS+=        ${BINDIR}/chpass ${BINDIR}/chsh
 LINKS+=        ${BINDIR}/chpass ${BINDIR}/ypchpass
 LINKS+=        ${BINDIR}/chpass ${BINDIR}/ypchfn
 LINKS+=        ${BINDIR}/chpass ${BINDIR}/ypchsh
+
 MLINKS=        chpass.1 chfn.1 chpass.1 chsh.1
-COPTS+=        -DYP
-SRCS+= pw_yp.c
-DPADD= ${LIBRPCSVC} ${LIBCRYPT}
-LDADD+=        -lrpcsvc -lcrypt
+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
+
+#Some people need this, uncomment to activate
+#COPTS+= -DRESTRICT_FULLNAME_CHANGE
+
+DPADD= ${LIBRPCSVC} ${LIBCRYPT} ${LIBMD}
+LDADD+=        -lrpcsvc -lcrypt -lmd
+
+CLEANFILES= ${GENSRCS}
+
+RPCGEN= rpcgen -C
+RPCSRC= ${DESTDIR}/usr/include/rpcsvc/yp.x
+RPCSRC_PW= ${DESTDIR}/usr/include/rpcsvc/yppasswd.x
+RPCSRC_PRIV= ${.CURDIR}/../../usr.sbin/rpc.yppasswdd/yppasswd_private.x
+
+yp.h: ${RPCSRC}
+       ${RPCGEN} -h -o ${.TARGET} ${RPCSRC}
+
+yp_clnt.c: ${RPCSRC}
+       ${RPCGEN} -l -o ${.TARGET} ${RPCSRC}
+
+yppasswd.h: ${RPCSRC_PW}
+       ${RPCGEN} -h -o ${.TARGET} ${RPCSRC_PW}
+
+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}
+       ${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 || true
+.endfor
 
 afterinstall:
-       chflags schg ${DESTDIR}${BINDIR}/chpass
+       -chflags schg ${DESTDIR}${BINDIR}/chpass
 
 .include <bsd.prog.mk>