# file ../backup/Makefile
#
CCOPTS        = -O
EXTRA_AIX_CFLAGS = -qlanglvl=ansi
EXTRA_HPUX_CFLAGS = -Aa -D _HPUX_SOURCE
EXTRA_SUNOS_LIBS = -lnsl -lsocket

CFLAGS	      = -I../include -I../libdes $(CCOPTS) -DDES
PFLAGS	      = $(CCOPTS)
FFLAGS	      = $(CCOPTS)
CCFLAGS       = $(CCOPTS)
CXXFLAGS      = $(CCOPTS)

DEST	      = .

# Uncomment this if you want system header files to be expanded
#
# SYSHDRS       =

EXTHDRS	      =

HDRS	      = 

INSTALL	      = install

CC	      = cc

LD	      = cc

LDFLAGS	      = $(CCOPTS)

LIBS	      = ../libsrc/firewall.a ../netlib/netlibp2.a \
		../libdes/libdes.a

LINTLIBS      =

LINTFLAGS     = -u $(CFLAGS)

MAKEFILE      = Makefile

A_OBJS        =	arp_broadcast.o \
		arpwhohas.o

B_OBJS        =	arpwhohas.o \
		backupfw.o

P_OBJS	      = autotakeover.o \
		fwpulse.o

D_OBJS        = active_if.o \
		fwpulsed.o \
		get_ifnet.o \
		getkmemdata.o

T_OBJS	      = takeover.o

PRINT	      = pr

PRINTFLAGS    =

LP	      = lp

LPFLAGS       = 

PROGRAM       = takeover fwpulse fwpulsed arp_broadcast

SHELL	      = /bin/sh

SRCS	      = active_if.c \
		arpwhohas.c \
		arp_broadcast.c \
		autotakeover.c \
		fwpulsed.c \ \
		get_ifnet.c \
		getkmemdata.c \
		takeover.c \
		fwpulse.c \
		backupfw.c

all:		$(PROGRAM)

#$(A_OBJS) $(B_OBJS) $(P_OBJS) $(T_OBJS) $(D_OBJS):	$(MAKEFILE)
# Linux does not like this, use .c.o: instead
.c.o:	$(MAKEFILE)
		@if [ "`uname`" = "AIX" ]; then \
		echo "$(CC) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
		elif [ "`uname`" = "HP-UX" ]; then \
		echo "$(CC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<; \
		else \
		echo "$(CC) -c $(CFLAGS) $<"; \
		$(CC) -c $(CFLAGS) $<; \
		fi

arp_broadcast:	$(A_OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $@....."
		@if [ "`uname`" = "SunOS" ]; then \
		echo "$(LD) $(LDFLAGS) $(B_OBJS) $(A_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(A_OBJS) $(A_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@; \
		else \
		echo "$(LD) $(LDFLAGS) $(B_OBJS) $(A_OBJS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(A_OBJS) $(LIBS) -o $@; \
		fi
		@echo "done"

takeover:	$(B_OBJS) $(T_OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $@....."
		@if [ "`uname`" = "SunOS" ]; then \
		echo "$(LD) $(LDFLAGS) $(B_OBJS) $(T_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(B_OBJS) $(T_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@; \
		else \
		echo "$(LD) $(LDFLAGS) $(B_OBJS) $(T_OBJS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(B_OBJS) $(T_OBJS) $(LIBS) -o $@; \
		fi
		@echo "done"

fwpulse:	$(B_OBJS) $(P_OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $@....."
		@if [ "`uname`" = "SunOS" ]; then \
		echo "$(LD) $(LDFLAGS) $(B_OBJS) $(P_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(B_OBJS) $(P_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@; \
		else \
		echo "$(LD) $(LDFLAGS) $(B_OBJS) $(P_OBJS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(B_OBJS) $(P_OBJS) $(LIBS) -o $@; \
		fi
		@echo "done"

fwpulsed:	$(D_OBJS) $(B_OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $@....."
		@if [ "`uname`" = "SunOS" ]; then \
		echo "$(LD) $(LDFLAGS) $(D_OBJS) $(B_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(D_OBJS) $(B_OBJS) \
			$(EXTRA_SUNOS_LIBS) $(LIBS) -o $@; \
		else \
		echo "$(LD) $(LDFLAGS) $(D_OBJS) $(B_OBJS) $(LIBS) -o $@"; \
		$(LD) $(LDFLAGS) $(D_OBJS) $(B_OBJS) $(LIBS) -o $@; \
		fi
		@echo "done"

clean:;		@rm -f fwpulse fwpulsed takeover $(A_OBJS) $(B_OBJS) $(P_OBJS) $(T_OBJS) $(D_OBJS) core

clobber:;	@rm -f $(B_OBJS) $(P_OBJS) $(T_OBJS) $(PROGRAM) core tags

depend:;	@mkmf -f $(MAKEFILE) ROOT=$(ROOT)

echo:;		@echo $(HDRS) $(SRCS)

-1:;		@ctags -wx $(HDRS) $(SRCS)

install:	$(PROGRAM)
		@echo Installing $(PROGRAM) in $(DEST)
		@-strip $(PROGRAM)
		@if [ $(DEST) != . ]; then \
		(rm -f $(DEST)/$(PROGRAM); $(INSTALL) -d $(DEST); $(INSTALL) $(PROGRAM) $(DEST)); fi

lint:		$(LINTLIBS) $(SRCS) $(HDRS) $(EXTHDRS)
		lint $(LINTFLAGS) $(LINTLIBS) $(SRCS)

print:;		@$(PRINT) $(PRINTFLAGS) $(HDRS) $(SRCS) | $(LP) $(LPFLAGS)

tags:           $(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

update:		$(DEST)/$(PROGRAM)

touch:;		@touch $(SRCS) $(HDRS)

#$(DEST)/$(PROGRAM): $(SRCS) $(LIBS) $(HDRS) $(EXTHDRS)
#		@$(MAKE) -f $(MAKEFILE) ROOT=$(ROOT) DEST=$(DEST) install
###
backupfw.o: ./fwpulse.h
takeover.o: ./fwpulse.h
pulse.o: ./fwpulse.h
