Makefile.yp revision 1.1
1#	$NetBSD: Makefile.yp,v 1.1 1996/08/09 10:14:59 thorpej Exp $
2#
3# This is the YP Makefile, used to create and push YP maps.
4#
5
6YPDBDIR=/var/yp
7DIR=/etc
8NOPUSH=""
9
10AWK=/usr/bin/awk
11CAT=/bin/cat
12CUT=/usr/bin/cut
13ECHO=/bin/echo
14MAKEDBM=/usr/sbin/makedbm
15SED=/usr/bin/sed
16STDHOSTS=/usr/sbin/stdhosts
17STDETHERS=/usr/sbin/stdethers
18MKNETID=/usr/sbin/mknetid
19TOUCH=/usr/bin/touch
20DOMAIN="`/usr/bin/basename ${.CURDIR}`"
21YPPUSH=/usr/sbin/yppush
22
23all: passwd group hosts ethers networks rpc services protocols netid
24
25passwd.time: $(DIR)/master.passwd
26	-@if [ -f $(>) ]; then \
27		$(CAT) $(>) | $(CUT) -d: -f1-4,8-10 | \
28		$(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \
29		{ print $$1, $$0 }' - | $(MAKEDBM) - passwd.byname; \
30		$(CAT) $(>) | $(CUT) -d: -f1-4,8-10 |\
31		$(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \
32		{ print $$3, $$0 }' - | $(MAKEDBM) - passwd.byuid; \
33		$(TOUCH) $(@); \
34		$(ECHO) "updated passwd"; \
35		if [ ! $(NOPUSH) ]; then \
36			$(YPPUSH) -d $(DOMAIN) passwd.byname; \
37			$(YPPUSH) -d $(DOMAIN) passwd.byuid; \
38			$(ECHO) "pushed passwd"; \
39		else \
40			: ; \
41		fi \
42	else \
43		$(ECHO) "couldn't find $(>)"; \
44	fi
45
46
47group.time: $(DIR)/group
48	-@if [ -f $(>) ]; then \
49		$(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \
50		{ print $$1, $$0 }' $(>) | \
51		$(MAKEDBM) - group.byname; \
52		$(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \
53		{ print $$3, $$0 }' $(>) | \
54		$(MAKEDBM) - group.bygid; \
55		$(TOUCH) $(@); \
56		$(ECHO) "updated group"; \
57		if [ ! $(NOPUSH) ]; then \
58			$(YPPUSH) -d $(DOMAIN) group.byname; \
59			$(YPPUSH) -d $(DOMAIN) group.bygid; \
60			$(ECHO) "pushed group"; \
61		else \
62			: ; \
63		fi \
64	else \
65		$(ECHO) "couldn't find $(>)"; \
66	fi
67
68hosts.time: $(DIR)/hosts
69	-@if [ -f $(DIR)/hosts ]; then \
70		$(STDHOSTS) $(>) | $(SED) -e s/#.*$$// | \
71		$(AWK) '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \
72		$(MAKEDBM) - hosts.byname; \
73		$(STDHOSTS) $(>) | \
74		$(AWK) 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \
75		$(MAKEDBM) - hosts.byaddr; \
76		$(TOUCH) $(@); \
77		$(ECHO) "updated hosts"; \
78		if [ ! $(NOPUSH) ]; then \
79			$(YPPUSH) -d $(DOMAIN) hosts.byname; \
80			$(YPPUSH) -d $(DOMAIN) hosts.byaddr; \
81			$(ECHO) "pushed hosts"; \
82		else \
83			: ; \
84		fi \
85	else \
86		$(ECHO) "couldn't find $(>)"; \
87	fi
88
89ethers.time: $(DIR)/ethers
90	-@if [ -f $(DIR)/ethers ]; then \
91		$(STDETHERS) $(>) | $(SED) -e s/#.*$$// | \
92		$(AWK) 'BEGIN { FS="\t"; OFS="\t"; } { print $$1, $$0 }' | \
93		$(MAKEDBM) - ethers.byaddr; \
94		$(STDETHERS) $(>) | \
95		$(AWK) 'BEGIN { FS="\t"; OFS="\t"; } { print $$2, $$0 }' | \
96		$(MAKEDBM) - ethers.byname; \
97		$(TOUCH) $(@); \
98		$(ECHO) "updated ethers"; \
99		if [ ! $(NOPUSH) ]; then \
100			$(YPPUSH) -d $(DOMAIN) ethers.byaddr; \
101			$(YPPUSH) -d $(DOMAIN) ethers.byname; \
102			$(ECHO) "pushed hosts"; \
103		else \
104			: ; \
105		fi \
106	else \
107		$(ECHO) "couldn't find $(>)"; \
108	fi
109
110networks.time: $(DIR)/networks
111	-@if [ -f $(>) ]; then \
112		$(SED) -e "/^#/d" -e s/#.*$$// $(>) | \
113		$(AWK) '{print $$1, $$0; for (i = 3;i <= NF;i++) print $$i,$$0}' | \
114		$(MAKEDBM) - networks.byname; \
115		$(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \
116		$(MAKEDBM) - networks.byaddr; \
117		$(TOUCH) $(@); \
118		$(ECHO) "updated networks"; \
119		if [ ! $(NOPUSH) ]; then \
120			$(YPPUSH) -d $(DOMAIN) networks.byname; \
121			$(YPPUSH) -d $(DOMAIN) networks.byaddr; \
122			$(ECHO) "pushed networks"; \
123		else \
124			: ; \
125		fi \
126	else \
127		$(ECHO) "couldn't find $(>)"; \
128	fi
129
130rpc.time: $(DIR)/rpc
131	-@if [ -f $(>) ]; then \
132		$(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \
133		$(MAKEDBM) - rpc.bynumber; \
134		$(TOUCH) $(@); \
135		$(ECHO) "updated rpc"; \
136		if [ ! $(NOPUSH) ]; then \
137			$(YPPUSH) -d $(DOMAIN) rpc.bynumber; \
138			$(ECHO) "pushed rpc"; \
139		else \
140			: ; \
141		fi \
142	else \
143		$(ECHO) "couldn't find $(>)"; \
144	fi
145
146
147services.time: $(DIR)/services
148	-@if [ -f $(>) ]; then \
149		$(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \
150		$(MAKEDBM) - services.byname; \
151		$(TOUCH) $(@); \
152		$(ECHO) "updated services"; \
153		if [ ! $(NOPUSH) ]; then \
154			$(YPPUSH) -d $(DOMAIN) services.byname; \
155			$(ECHO) "pushed services"; \
156		else \
157			: ; \
158		fi \
159	else \
160		$(ECHO) "couldn't find $(>)"; \
161	fi
162
163
164protocols.time: $(DIR)/protocols
165	-@if [ -f $(>) ]; then \
166		$(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \
167		$(MAKEDBM) - protocols.bynumber; \
168		$(SED) -e "/^#/d" -e s/#.*$$// $(>) | \
169		$(AWK) '{print $$1, $$0; for (i = 3;i <= NF;i++) print $$i,$$0}' | \
170		$(MAKEDBM) - protocols.byname; \
171		$(TOUCH) $(@); \
172		$(ECHO) "updated protocols"; \
173		if [ ! $(NOPUSH) ]; then \
174			$(YPPUSH) -d $(DOMAIN) protocols.bynumber; \
175			$(YPPUSH) -d $(DOMAIN) protocols.byname; \
176			$(ECHO) "pushed protocols"; \
177		else \
178			: ; \
179		fi \
180	else \
181		$(ECHO) "couldn't find $(>)"; \
182	fi
183
184
185netid.time: $(DIR)/passwd $(DIR)/group $(DIR)/hosts $(DIR)/netid
186	-@$(MKNETID) -q -d $(DOMAIN) -p $(DIR)/passwd -g $(DIR)/group -h \
187	      $(DIR)/hosts -m $(DIR)/netid | \
188	  $(MAKEDBM) - netid.byname; \
189	  $(TOUCH) $(@); \
190	  $(ECHO) "updated netid"; \
191	  if [ ! $(NOPUSH) ]; then \
192		$(YPPUSH) -d $(DOMAIN) netid.byname; \
193		$(ECHO) "pushed netid"; \
194	  else \
195		: ; \
196	  fi
197
198
199passwd: passwd.time
200group: group.time
201hosts: hosts.time
202ethers: ethers.time
203networks: networks.time
204rpc: rpc.time
205services: services.time
206protocols: protocols.time
207netid: netid.time
208$(DIR)/passwd:
209$(DIR)/group:
210$(DIR)/hosts:
211$(DIR)/ethers:
212$(DIR)/networks:
213$(DIR)/rpc:
214$(DIR)/services:
215$(DIR)/protocols:
216$(DIR)/netid:
217