# Makefile

ETHERS    = /etc/ethers
HOSTS     = /etc/hosts
NETWORKS  = /etc/networks
PROTOCOLS = /etc/protocols
RPC 	  = /etc/rpc
SERVICES  = /etc/services
PASSWD    = /etc/passwd
GROUP     = /etc/group
SHADOW    = /etc/shadow
GSHADOW   = /etc/gshadow

all: ethers hosts networks protocols rpc services passwd group
# shadow gshadow

ethers:	   ethers.byname ethers.byaddr
hosts:	   hosts.byname hosts.byaddr
networks:  networks.byaddr networks.byname
protocols: protocols.bynumber protocols.byname
rpc:	   rpc.byname rpc.bynumber
services:  services.byname
passwd:    passwd.byname passwd.byuid
group:     group.byname group.bygid
shadow:    shadow.byname
gshadow:   gshadow.byname 


# Makefile configuration
AWK = @awk
RM = @rm -f
DBLOAD = /usr/lib/yp/dbload


ethers.byname: $(ETHERS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

ethers.byaddr: $(ETHERS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


hosts.byname: $(HOSTS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

hosts.byaddr: $(HOSTS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


networks.byname: $(NETWORKS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

networks.byaddr: $(NETWORKS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@



protocols.bynumber: $(PROTOCOLS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

protocols.byname: $(PROTOCOLS)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


rpc.byname: $(RPC)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

rpc.bynumber: $(RPC)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@




services.byname: $(SERVICES)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) '{ if ($$1 != "" && $$1 != "#") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


passwd.byname: $(PASSWD)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) -F: '{ if ($$1 != "+") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

passwd.byuid: $(PASSWD)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) -F: '{ if ($$1 != "+") print $$3"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


group.byname: $(GROUP)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) -F: '{ if ($$1 != "+") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@

group.bygid: $(GROUP)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) -F: '{ if ($$1 != "+") print $$2"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


#
# Shadow and Gshadow maps... They shouldn't really be available via
# YP, kind of defeats their purpose...
#
shadow.byname: $(SHADOW)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) -F: '{ if ($$1 != "+") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


gshadow.byname: $(GSHADOW)
	@echo "Updating $@..."
	$(RM) $@
	$(AWK) -F: '{ if ($$1 != "+") print $$1"\t"$$0 }' $^ \
		| $(DBLOAD) -f- $@


