# Makefile for ../tnproxy/tnproxy
 
CCOPTS        = -O

EXTRA_AIX_CFLAGS = -qlanglvl=ansi
EXTRA_HPUX_CFLAGS = -Aa -D _HPUX_SOURCE
EXTRA_AIX_LIBS = -lisode
EXTRA_HPUX_LIBS = -ldbm
EXTRA_SUNOS_LIBS = -lnsl -lsocket
EXTRA_LINUX_LIBS = -ldb -lresolv

CFLAGS	      = -I../include -I../dss/agent -I../libdes \
		$(CCOPTS) -DTREX_ENC -DTREX_ADM
PFLAGS	      = -I../include -I../dss/agent -I$(BACKING)/include \
		-I$(BACKING)/dss/agent $(CCOPTS)
FFLAGS	      = -I../include -I../dss/agent -I$(BACKING)/include \
		-I$(BACKING)/dss/agent $(CCOPTS)
CCFLAGS       = -I../include -I../dss/agent -I$(BACKING)/include \
		-I$(BACKING)/dss/agent $(CCOPTS)
CXXFLAGS      = -I../include -I../dss/agent -I$(BACKING)/include \
		-I$(BACKING)/dss/agent $(CCOPTS)

CC	      = cc

DEST	      = .

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

EXTHDRS	      = ../dss/agent/dslib.h \
		../include/arpa/telnet.h \
		../include/arpa/telnet.h \
		../libdes/des.h \
		../include/gwuser.h \
		../include/firewall.h \
		../include/sdacmvls.h \
		../include/sdconf.h \
		../include/sdi_athd.h \
		../include/sdi_size.h \
		../include/sdi_type.h \
		../include/tnproxy.h

HDRS	      =

INSTALL	      = install

LD	      = $(CC)

LDFLAGS	      =

LIBS	      = ../libsrc/firewall.a \
		../sd/sdiclient.a \
		../dss/agent/lib_da.a \
		../libdes/libdes.a \
		../util/gwuser/gwuser.a \
		../netlib/netlibp2.a

LINTLIBS      =

LINTFLAGS     = -u $(CFLAGS)

MAKEFILE      = Makefile

OBJS	      = authenticate.o \
		dssapi.o \
		enargv.o \
		hnametoip.o \
		snkverify.o \
		tnproxconf.o \
		tnproxy.o \
		tnrules.o \
		tnsecdyn.o

PRINT	      = pr

PRINTFLAGS    =

LP	      = lp

LPFLAGS       = 

PROGRAM       = tnproxy

SHELL	      = /bin/sh

SRCS	      = authenticate.c \
		dssapi.c \
		enargv.c \
		hnametoip.c \
		snkverify.c \
		tnproxconf.c \
		tnproxy.c \
		tnrules.c \
		tnsecdyn.c

all:		$(PROGRAM)

#$(OBJS):	$(MAKEFILE)
# Linux doesn't like this, use .c.o:
.c.o:
		@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

$(PROGRAM):     $(OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $(PROGRAM) ..."
		@if [ "`uname`" = "AIX" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_AIX_LIBS) -o $(PROGRAM); \
		elif [ "`uname`" = "SunOS" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) -lresolv $(LIBS) $(EXTRA_SUNOS_LIBS) -o $(PROGRAM); \
		elif [ "`uname`" = "Linux" ]; then \
		$(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(EXTRA_LINUX_LIBS) \
				-o $(PROGRAM); \
		else \
		$(LD) $(LDFLAGS) $(OBJS) $(EXTRA_HPUX_LIBS) $(LIBS) -o $(PROGRAM); \
		fi
		@echo "done"

clean:;		@rm -f $(PROGRAM) $(LIBRARY) $(OBJS) core make.log

clobber:;	@rm -f $(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)
###
authenticate.o: ../include/arpa/telnet.h ../include/firewall.h \
	../include/tnproxy.h ../include/gwuser.h
dssapi.o: ../dss/agent/dslib.h ../include/firewall.h ../include/gwuser.h
snkverify.o: ../include/firewall.h ../include/gwuser.h ../libdes/des.h
tnproxconf.o: ../include/firewall.h ../include/tnproxy.h
tnproxy.o: ../include/arpa/telnet.h ../include/firewall.h ../include/gwuser.h \
	../include/tnproxy.h ../libdes/des.h
tnrules.o: ../include/firewall.h ../include/tnproxy.h
tnsecdyn.o: ../include/sdi_athd.h ../include/sdi_size.h ../include/sdi_type.h \
	../include/sdacmvls.h ../include/sdconf.h
