SHELL=/bin/sh

ETCDIR=/usr/local/etc
MANSECT=8
MANDIR=/usr/local/man/man$(MANSECT)
CC=cc
CDEBUGFLAGS=-O -g -DDEBUG -D__BSDI__ 
INCLUDES=
RPCLIB=-lcompat -lrpc -lrpc_p

CFLAGS= $(CDEBUGFLAGS) $(INCLUDES)  

RPCGEN=rpcgen
# files that are generated by rpcgen, deleted by make clobber
RPCGENOUTS=ether_svc.c ether_xdr.c ether.h ether_client.c

OBJS=ether_svc.o ether_xdr.o packet.o etherd.o


rpc.etherd: $(OBJS) ether.h
	$(CC) $(CFLAGS) -o rpc.etherd $(OBJS) $(RPCLIB) 

# chose one of the rules
ether_svc.c: ether.x ether.h
#	# cp ether_svc.c-dist ether_svc.c
	rpcgen -m -o ether_svc.c ether.x
ether_xdr.c: ether.x ether.h
#	# cp ether_xdr.c-dist ether_xdr.c
	rpcgen -c -o ether_xdr.c ether.x
ether.h: ether.x
#	# cp ether.h-dist ether.h
	rpcgen -h -o ether.h ether.x


install: rpc.etherd
	install -c -s -m 755 rpc.etherd $(ETCDIR)

install.man:
	install -c -m 644 etherd.man $(MANDIR)/etherd.$(MANSECT)

clean:
	rm -f *.o *~ ,* .c .h a.out *core rpc.etherd TAGS tags \
		ktrace.out Makefile.bak .emacs_*

clobber: clean
	rm -f $(RPCGENOUTS)

depend: # ether.h
	makedepend -- $(CFLAGS) -- *.c *.h

# DO NOT DELETE THIS LINE -- make depend depends on it.

etherd.o: /usr/include/stdio.h /usr/include/sys/cdefs.h
etherd.o: /usr/include/sys/types.h /usr/include/machine/endian.h
etherd.o: /usr/include/machine/ansi.h /usr/include/machine/types.h
etherd.o: /usr/include/rpc/rpc.h /usr/include/rpc/types.h
etherd.o: /usr/include/sys/time.h /usr/include/sys/time.h
etherd.o: /usr/include/netinet/in.h /usr/include/rpc/xdr.h
etherd.o: /usr/include/rpc/auth.h /usr/include/rpc/clnt.h
etherd.o: /usr/include/rpc/rpc_msg.h /usr/include/rpc/auth_unix.h
etherd.o: /usr/include/rpc/svc.h /usr/include/rpc/svc_auth.h
etherd.o: /usr/include/errno.h /usr/include/signal.h
etherd.o: /usr/include/sys/signal.h /usr/include/machine/signal.h
etherd.o: /usr/include/machine/trap.h /usr/include/syslog.h etherd.h
packet.o: packet.c-bpf /usr/include/sys/types.h /usr/include/machine/endian.h
packet.o: /usr/include/sys/cdefs.h /usr/include/machine/ansi.h
packet.o: /usr/include/machine/types.h /usr/include/sys/time.h
packet.o: /usr/include/sys/ioctl.h /usr/include/sys/ttycom.h
packet.o: /usr/include/sys/ioccom.h /usr/include/sys/filio.h
packet.o: /usr/include/sys/sockio.h /usr/include/sys/fcntl.h
packet.o: /usr/include/sys/socket.h /usr/include/netinet/in_systm.h
packet.o: /usr/include/net/if.h /usr/include/sys/time.h
packet.o: /usr/include/net/if_arp.h /usr/include/netinet/in.h
packet.o: /usr/include/netinet/if_ether.h /usr/include/netinet/ip.h
packet.o: /usr/include/net/bpf.h /usr/include/sys/errno.h
packet.o: /usr/include/syslog.h etherd.h /usr/include/stdio.h
packet.o: /usr/include/rpc/rpc.h /usr/include/rpc/types.h
packet.o: /usr/include/rpc/xdr.h /usr/include/rpc/auth.h
packet.o: /usr/include/rpc/clnt.h /usr/include/rpc/rpc_msg.h
packet.o: /usr/include/rpc/auth_unix.h /usr/include/rpc/svc.h
packet.o: /usr/include/rpc/svc_auth.h packet-common.ic
etherd.o: /usr/include/stdio.h /usr/include/sys/cdefs.h
etherd.o: /usr/include/sys/types.h /usr/include/machine/endian.h
etherd.o: /usr/include/machine/ansi.h /usr/include/machine/types.h
etherd.o: /usr/include/rpc/rpc.h /usr/include/rpc/types.h
etherd.o: /usr/include/sys/time.h /usr/include/sys/time.h
etherd.o: /usr/include/netinet/in.h /usr/include/rpc/xdr.h
etherd.o: /usr/include/rpc/auth.h /usr/include/rpc/clnt.h
etherd.o: /usr/include/rpc/rpc_msg.h /usr/include/rpc/auth_unix.h
etherd.o: /usr/include/rpc/svc.h /usr/include/rpc/svc_auth.h
