# Makefile for netscript

    DESTDIR =

    SBINDIR = /sbin
   AGENTDIR = /sbin
      RCDIR = /etc/rc.d
    BINMODE = 0700
  AGENTMODE = 0700

         CC = gcc
    INSTALL = install
      CDEFS = -DAGENTDIR=\"$(AGENTDIR)\" -DRCDIR=\"$(RCDIR)\"
     CFLAGS = -g -O2 -Wall $(CDEFS)
    LDFLAGS =

   COMMANDS = ifctl netscheme
     AGENTS = ifctld ifdown ifup
   PROGRAMS = $(COMMANDS) $(AGENTS)
    LIBSRCS = \
	beep.c cmdname.c daemon.c ioctl.c lockfile.c log.c netif.c strarray.c
       SRCS = ${PROGRAMS:=.c} $(LIBSRCS)
    HEADERS = ${LIBSRCS:.c=.h} defines.h
       OBJS = ${SRCS:.c=.o}
 IFCTL_OBJS = ifctl.o cmdname.o daemon.o lockfile.o log.o
NETSCM_OBJS = \
	netscheme.o cmdname.o daemon.o lockfile.o log.o netif.o strarray.o
IFCTLD_OBJS = \
	ifctld.o beep.o cmdname.o daemon.o ioctl.o lockfile.o log.o netif.o
IFDOWN_OBJS = ifdown.o cmdname.o daemon.o lockfile.o log.o netif.o
  IFUP_OBJS = ifup.o cmdname.o daemon.o lockfile.o log.o

ifeq (.depend,$(wildcard .depend))

all:	$(PROGRAMS)

ifctl:	$(IFCTL_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(IFCTL_OBJS)

netscheme:	$(NETSCM_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(NETSCM_OBJS)

ifctld:	$(IFCTLD_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(IFCTLD_OBJS)

ifdown:	$(IFDOWN_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(IFDOWN_OBJS)

ifup:	$(IFUP_OBJS)
	$(CC) $(LDFLAGS) -o $@ $(IFUP_OBJS)

include .depend

else

all:	depend
	make all

endif

.c.o:
	$(CC) $(CFLAGS) -c $<

depend:
	makedepend -f- $(CDEFS) $(SRCS) $(HEADERS) > .depend

install:	all
	@for f in $(COMMANDS); do \
	    if [ -f $(DESTDIR)$(SBINDIR)/$$f -a ! -f $(DESTDIR)$(SBINDIR)/$$f.orig ]; then \
		echo "mv -f $(DESTDIR)$(SBINDIR)/$$f $(DESTDIR)$(SBINDIR)/$$f.orig"; \
		mv -f $(DESTDIR)$(SBINDIR)/$$f $(DESTDIR)$(SBINDIR)/$$f.orig; \
	    fi; \
	    echo "$(INSTALL) -cs -o 0 -g 0 -m $(BINMODE) $$f $(DESTDIR)$(SBINDIR)/$$f"; \
	    $(INSTALL) -cs -o 0 -g 0 -m $(BINMODE) $$f $(DESTDIR)$(SBINDIR)/$$f; \
	done
	@for f in $(AGENTS); do \
	    if [ -f $(DESTDIR)$(AGENTDIR)/$$f -a ! -f $(DESTDIR)$(AGENTDIR)/$$f.orig ]; then \
		echo "mv -f $(DESTDIR)$(AGENTDIR)/$$f $(DESTDIR)$(AGENTDIR)/$$f.orig"; \
		mv -f $(DESTDIR)$(AGENTDIR)/$$f $(DESTDIR)$(AGENTDIR)/$$f.orig; \
	    fi; \
	    echo "$(INSTALL) -cs -o 0 -g 0 -m $(AGENTMODE) $$f $(DESTDIR)$(AGENTDIR)/$$f"; \
	    $(INSTALL) -cs -o 0 -g 0 -m $(AGENTMODE) $$f $(DESTDIR)$(AGENTDIR)/$$f; \
	done

clean:
	rm -f $(PROGRAMS) $(OBJS) .depend *~ *.bak core
