Makefile.yp revision 1.2
1# $NetBSD: Makefile.yp,v 1.2 1996/08/09 20:58:36 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 23# We have a rule for ypservers, but we don't build it by default, since 24# it seldom changes (only when slaves are added/deleted). 25 26all: passwd group hosts ethers networks rpc services protocols netid 27 28passwd.time: $(DIR)/master.passwd 29 -@if [ -f $(>) ]; then \ 30 $(CAT) $(>) | $(CUT) -d: -f1-4,8-10 | \ 31 $(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 32 { print $$1, $$0 }' - | $(MAKEDBM) - passwd.byname; \ 33 $(CAT) $(>) | $(CUT) -d: -f1-4,8-10 |\ 34 $(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 35 { print $$3, $$0 }' - | $(MAKEDBM) - passwd.byuid; \ 36 $(TOUCH) $(@); \ 37 $(ECHO) "updated passwd"; \ 38 if [ ! $(NOPUSH) ]; then \ 39 $(YPPUSH) -d $(DOMAIN) passwd.byname; \ 40 $(YPPUSH) -d $(DOMAIN) passwd.byuid; \ 41 $(ECHO) "pushed passwd"; \ 42 else \ 43 : ; \ 44 fi \ 45 else \ 46 $(ECHO) "couldn't find $(>)"; \ 47 fi 48 49 50group.time: $(DIR)/group 51 -@if [ -f $(>) ]; then \ 52 $(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 53 { print $$1, $$0 }' $(>) | \ 54 $(MAKEDBM) - group.byname; \ 55 $(AWK) 'BEGIN { FS=":"; OFS="\t"; } /^[a-zA-Z0-9_]/ \ 56 { print $$3, $$0 }' $(>) | \ 57 $(MAKEDBM) - group.bygid; \ 58 $(TOUCH) $(@); \ 59 $(ECHO) "updated group"; \ 60 if [ ! $(NOPUSH) ]; then \ 61 $(YPPUSH) -d $(DOMAIN) group.byname; \ 62 $(YPPUSH) -d $(DOMAIN) group.bygid; \ 63 $(ECHO) "pushed group"; \ 64 else \ 65 : ; \ 66 fi \ 67 else \ 68 $(ECHO) "couldn't find $(>)"; \ 69 fi 70 71hosts.time: $(DIR)/hosts 72 -@if [ -f $(DIR)/hosts ]; then \ 73 $(STDHOSTS) $(>) | $(SED) -e s/#.*$$// | \ 74 $(AWK) '{for (i = 2; i <= NF; i++) print $$i, $$0 }' | \ 75 $(MAKEDBM) - hosts.byname; \ 76 $(STDHOSTS) $(>) | \ 77 $(AWK) 'BEGIN { OFS="\t"; } { print $$1, $$0 }' | \ 78 $(MAKEDBM) - hosts.byaddr; \ 79 $(TOUCH) $(@); \ 80 $(ECHO) "updated hosts"; \ 81 if [ ! $(NOPUSH) ]; then \ 82 $(YPPUSH) -d $(DOMAIN) hosts.byname; \ 83 $(YPPUSH) -d $(DOMAIN) hosts.byaddr; \ 84 $(ECHO) "pushed hosts"; \ 85 else \ 86 : ; \ 87 fi \ 88 else \ 89 $(ECHO) "couldn't find $(>)"; \ 90 fi 91 92ethers.time: $(DIR)/ethers 93 -@if [ -f $(DIR)/ethers ]; then \ 94 $(STDETHERS) $(>) | $(SED) -e s/#.*$$// | \ 95 $(AWK) 'BEGIN { FS="\t"; OFS="\t"; } { print $$1, $$0 }' | \ 96 $(MAKEDBM) - ethers.byaddr; \ 97 $(STDETHERS) $(>) | \ 98 $(AWK) 'BEGIN { FS="\t"; OFS="\t"; } { print $$2, $$0 }' | \ 99 $(MAKEDBM) - ethers.byname; \ 100 $(TOUCH) $(@); \ 101 $(ECHO) "updated ethers"; \ 102 if [ ! $(NOPUSH) ]; then \ 103 $(YPPUSH) -d $(DOMAIN) ethers.byaddr; \ 104 $(YPPUSH) -d $(DOMAIN) ethers.byname; \ 105 $(ECHO) "pushed hosts"; \ 106 else \ 107 : ; \ 108 fi \ 109 else \ 110 $(ECHO) "couldn't find $(>)"; \ 111 fi 112 113networks.time: $(DIR)/networks 114 -@if [ -f $(>) ]; then \ 115 $(SED) -e "/^#/d" -e s/#.*$$// $(>) | \ 116 $(AWK) '{print $$1, $$0; for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 117 $(MAKEDBM) - networks.byname; \ 118 $(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \ 119 $(MAKEDBM) - networks.byaddr; \ 120 $(TOUCH) $(@); \ 121 $(ECHO) "updated networks"; \ 122 if [ ! $(NOPUSH) ]; then \ 123 $(YPPUSH) -d $(DOMAIN) networks.byname; \ 124 $(YPPUSH) -d $(DOMAIN) networks.byaddr; \ 125 $(ECHO) "pushed networks"; \ 126 else \ 127 : ; \ 128 fi \ 129 else \ 130 $(ECHO) "couldn't find $(>)"; \ 131 fi 132 133rpc.time: $(DIR)/rpc 134 -@if [ -f $(>) ]; then \ 135 $(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \ 136 $(MAKEDBM) - rpc.bynumber; \ 137 $(TOUCH) $(@); \ 138 $(ECHO) "updated rpc"; \ 139 if [ ! $(NOPUSH) ]; then \ 140 $(YPPUSH) -d $(DOMAIN) rpc.bynumber; \ 141 $(ECHO) "pushed rpc"; \ 142 else \ 143 : ; \ 144 fi \ 145 else \ 146 $(ECHO) "couldn't find $(>)"; \ 147 fi 148 149 150services.time: $(DIR)/services 151 -@if [ -f $(>) ]; then \ 152 $(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \ 153 $(MAKEDBM) - services.byname; \ 154 $(TOUCH) $(@); \ 155 $(ECHO) "updated services"; \ 156 if [ ! $(NOPUSH) ]; then \ 157 $(YPPUSH) -d $(DOMAIN) services.byname; \ 158 $(ECHO) "pushed services"; \ 159 else \ 160 : ; \ 161 fi \ 162 else \ 163 $(ECHO) "couldn't find $(>)"; \ 164 fi 165 166 167protocols.time: $(DIR)/protocols 168 -@if [ -f $(>) ]; then \ 169 $(AWK) 'BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$2, $$0 }' $(>) | \ 170 $(MAKEDBM) - protocols.bynumber; \ 171 $(SED) -e "/^#/d" -e s/#.*$$// $(>) | \ 172 $(AWK) '{print $$1, $$0; for (i = 3;i <= NF;i++) print $$i,$$0}' | \ 173 $(MAKEDBM) - protocols.byname; \ 174 $(TOUCH) $(@); \ 175 $(ECHO) "updated protocols"; \ 176 if [ ! $(NOPUSH) ]; then \ 177 $(YPPUSH) -d $(DOMAIN) protocols.bynumber; \ 178 $(YPPUSH) -d $(DOMAIN) protocols.byname; \ 179 $(ECHO) "pushed protocols"; \ 180 else \ 181 : ; \ 182 fi \ 183 else \ 184 $(ECHO) "couldn't find $(>)"; \ 185 fi 186 187 188netid.time: $(DIR)/passwd $(DIR)/group $(DIR)/hosts $(DIR)/netid 189 -@$(MKNETID) -q -d $(DOMAIN) -p $(DIR)/passwd -g $(DIR)/group -h \ 190 $(DIR)/hosts -m $(DIR)/netid | \ 191 $(MAKEDBM) - netid.byname; \ 192 $(TOUCH) $(@); \ 193 $(ECHO) "updated netid"; \ 194 if [ ! $(NOPUSH) ]; then \ 195 $(YPPUSH) -d $(DOMAIN) netid.byname; \ 196 $(ECHO) "pushed netid"; \ 197 else \ 198 : ; \ 199 fi 200 201ypservers.time: $(YPDBDIR)/$(DOMAIN)/ypservers 202 -@$(MAKEDBM) ypservers ypservers; \ 203 $(TOUCH) $(@); \ 204 $(ECHO) "updated ypservers"; \ 205 if [ ! $(NOPUSH) ]; then \ 206 $(YPPUSH) -d $(DOMAIN) ypservers; \ 207 $(ECHO) "pushed ypservers"; \ 208 else \ 209 : ; \ 210 fi 211 212passwd: passwd.time 213group: group.time 214hosts: hosts.time 215ethers: ethers.time 216networks: networks.time 217rpc: rpc.time 218services: services.time 219protocols: protocols.time 220netid: netid.time 221ypservers: ypservers.time 222$(DIR)/passwd: 223$(DIR)/group: 224$(DIR)/hosts: 225$(DIR)/ethers: 226$(DIR)/networks: 227$(DIR)/rpc: 228$(DIR)/services: 229$(DIR)/protocols: 230$(DIR)/netid: 231$(YPDBDIR)/$(DOMAIN)/ypservers: 232