Makefile revision 1.6
1# $NetBSD: Makefile,v 1.6 1999/12/24 09:08:48 agc Exp $
2#
3.include <bsd.own.mk>
4
5CPPFLAGS+= -DEXTENSIONS
6WARNS= 1
7
8SKEL_DIR=	/etc/skel
9EXAMPLE_DIR=	${DESTDIR}/usr/share/examples/usermgmt
10
11PROG= user
12SRCS+= user.c main.c
13LINKS+=	${BINDIR}/user ${BINDIR}/useradd
14LINKS+=	${BINDIR}/user ${BINDIR}/userdel
15LINKS+=	${BINDIR}/user ${BINDIR}/usermod
16LINKS+=	${BINDIR}/user ${BINDIR}/group
17LINKS+=	${BINDIR}/user ${BINDIR}/groupadd
18LINKS+=	${BINDIR}/user ${BINDIR}/groupdel
19LINKS+=	${BINDIR}/user ${BINDIR}/groupmod
20LINKS+=	${BINDIR}/user ${BINDIR}/userinfo
21LINKS+=	${BINDIR}/user ${BINDIR}/groupinfo
22LDADD+= -lutil 
23DPADD+= ${LIBUTIL}
24MAN= user.8 useradd.8 userdel.8 usermod.8 userinfo.8
25MAN+= group.8 groupadd.8 groupdel.8 groupmod.8 groupinfo.8
26MLINKS=	useradd.8 adduser.8
27
28.if ${MKSHARE} != "no"
29FILES=			dot.cshrc dot.login dot.profile
30FILESNAME_dot.cshrc=	.cshrc
31FILESNAME_dot.login=	.login
32FILESNAME_dot.profile=	.profile
33FILESDIR=		/usr/share/examples/usermgmt
34.endif
35
36# this target checks the built-in default group, and, if it doesn't exist,
37# creates it
38default-group:
39	@ln -fs ${.OBJDIR}/user ${.OBJDIR}/group;			\
40	defgrp=`${.OBJDIR}/user add -D | awk '/^group/ { print $$2 }'`;	\
41	if ${.OBJDIR}/group info -e $$defgrp; then			\
42		defgid=`${.OBJDIR}/group info $$defgrp | awk '/^gid/ { print $$2 }'`; \
43	else								\
44		defgid=99;						\
45		while [ $$defgid -gt 0 ]; do				\
46			${.OBJDIR}/group info -e $$defgid || break;	\
47			defgid=`expr $$defgid - 1`;			\
48		done;							\
49		if [ $$defgid -eq 0 ]; then				\
50			defgid=100;					\
51			while [ $$defgid -lt 60000 ]; do		\
52				${.OBJDIR}/group info -e $$defgid || break; \
53				defgid=`expr $$defgid + 1`;		\
54			done;						\
55			if [ $$defgid -eq 60000 ]; then			\
56				echo "No gids left";			\
57				exit 1;					\
58			fi;						\
59		fi;							\
60		${.OBJDIR}/group add -g $$defgid $$defgrp;		\
61	fi;								\
62	echo "Default group is $$defgrp ($$defgid):";			\
63	${.OBJDIR}/group info $$defgrp
64
65.include <bsd.prog.mk>
66
67test: ${PROG}
68	@echo "No news is good news"
69	@echo "1. Adding new user"
70	@rm -f useradd
71	@ln -s user useradd
72	-./useradd -m -g=uid test1.1
73	@echo "2. Modifying new user"
74	-./${PROG} mod -l test1.2 test1.1
75	@echo "3. Deleting new user"
76	-./${PROG} del -r test1.2
77	@echo "4. Attempting to add an invalid user name - IGNORE ANY ERROR"
78	-./${PROG} add -m test1%1
79	@echo "5. Bad usage - IGNORE ANY ERROR"
80	-./${PROG} add -m
81	@echo "6. Set range defaults"
82	-./${PROG} add -D -r4000..6000
83	-./${PROG} add -D
84	@echo "7. Get user information"
85	-./${PROG} info root
86	@echo "8. Bad user name - IGNORE ANY ERROR"
87	-./${PROG} info test1%1 || echo "User not found"
88	@echo "All tests completed"
89