# Makefile for ../util/gwuser/gwuser, gwgroup, and tnkey

BACKING       =
VPATH         =$(BACKING)/util/gwuser
 
CCOPTS        = -O
#CCOPTS        = -g

EXTRA_AIX_CFLAGS = -qlanglvl=ansi
EXTRA_HPUX_CFLAGS = +z -Aa -D _HPUX_SOURCE
EXTRA_LYNX_CFLAGS = -D__NO_INCLUDE_WARN__ \
			-I../../ndbm/db.1.85/PORT/include \
			-I../../apache/src/regex
#EXTRA_LYNX_LIBS = -L../../apache/src/regex -lregex \
#		-L../../ndbm/db.1.85/PORT/lynx -ldbm -lbsd
EXTRA_LYNX_LIBS = ../../apache/src/regex/libregex.a \
		../../ndbm/db.1.85/PORT/lynx/libdbm.a -lbsd
EXTRA_LIBS =
EXTRA_AIX_LIBS = -ldbm
EXTRA_LINUX_LIBS = -ldb

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

ARFLAGS	      = cru

CC	      = cc

CCC           = CC
CCC_AIX	      = xlC
CCC_LYNX      = g++
CCC_LINUX      = g++

DEST	      = .

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

EXTHDRS	      = 

HDRS	      =

INSTALL	      = install

LD_HPUX	      = $(CCC)

LD	      = $(CC)

LD_LINUX      = g++

LDFLAGS	      =

LIBRARY	      = gwuser.a

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

TNKEY_LIBS    = ../../libsrc/firewall.a \
		../../libdes/libdes.a

LINTLIBS      =

LINTFLAGS     = -u $(CFLAGS)

MAKEFILE      = Makefile

OBJS          = authadmin.o \
		close_db.o \
		encrypt_record.o \
		get_ftp.o \
		get_key.o \
		get_string.o \
		get_telnet.o \
		get_times.o \
		get_token.o \
		glob2reg.o \
		gwuserconf.o \
		info_db.o \
		open_db.o \
		pattern_match.o

GWUSER_OBJS   = adduser.o \
		convert_db.o \
		deluser.o \
		listuser.o \
		moduser.o \
		get_date.o \
		get_password.o \
		gwuser.o \
		query_db.o \
		userargs.o \
		userhelp.o

GWGROUP_OBJS  = addgroup.o \
		delgroup.o \
		groupargs.o \
		grouphelp.o \
		gwgroup.o \
		listgroup.o \
		modgroup.o

LIB_OBJS      = check_password.o \
		get_gwgroup.o \
		get_gwuser.o \
		get_gwuserconf.o \
		lockuser.o \
		set_nologins.o \
		get_key.o \
		set_password.o

LIB_OBJS_REF  = close_db.o \
		encrypt_record.o \
		get_times.o \
		info_db.o \
		open_db.o \
		gwuserconf.o

TNKEY_OBJS    =	tnkey.o

PRINT	      = pr

PRINTFLAGS    =

LP	      = lp

LPFLAGS       = 

GWGROUP       = gwgroup

GWUSER        = gwuser

TNKEY         =	tnkey

SHELL	      = /bin/sh

SRCS          = authadmin.C \
		close_db.C \
		encrypt_record.C \
		get_ftp.C \
		get_key.C \
		get_string.C \
		get_telnet.C \
		get_times.C \
		get_token.C \
		glob2reg.C \
		gwuserconf.C \
		info_db.C \
		open_db.C \
		pattern_match.C

GWUSER_SRCS   = adduser.C \
		convert_db.C \
		deluser.C \
		listuser.C \
		moduser.C \
		get_date.C \
		get_password.C \
		gwuser.C \
		query_db.C \
		userargs.C \
		userhelp.C

GWGROUP_SRCS  = addgroup.C \
		delgroup.C \
		groupargs.C \
		grouphelp.C \
		gwgroup.C \
		listgroup.C \
		modgroup.C

LIB_SRCS      = check_password.C \
		get_gwgroup.C \
		get_gwuser.C \
		gwuserconf.C \
		set_nologins.C \
		set_password.C

TNKEY_SRCS    = tnkey.c

#all:		$(GWUSER) $(GWGROUP) $(LIBRARY) $(TNKEY)
all:		$(GWUSER) $(GWGROUP) $(LIBRARY)

# $(OBJS):	$(MAKEFILE)
.C.o:
		@if [ "`uname`" = "AIX" ]; then \
		echo "$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
		$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
		elif [ "`uname`" = "LynxOS" ]; then \
		echo "$(CCC_LYNX) -c $(CFLAGS) $(EXTRA_LYNX_CFLAGS) $<"; \
		$(CCC_LYNX) -c $(CFLAGS) $(EXTRA_LYNX_CFLAGS) $<; \
		elif [ "`uname`" = "HP-UX" ]; then \
 		echo "$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<"; \
		$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<; \
                elif [ "`uname`" = "Linux" ]; then \
                echo "$(CCC_LINUX) -c $(CFLAGS) $<"; \
                $(CCC_LINUX) -c $(CFLAGS) $<; \
		else \
		echo "$(CCC) -c $(CFLAGS) $<"; \
		$(CCC) -c $(CFLAGS) $<; \
		fi

#$(GWUSER_OBJS):	$(MAKEFILE)
#		@if [ "`uname`" = "AIX" ]; then \
#		echo "$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
#		$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
#		elif [ "`uname`" = "LynxOS" ]; then \
#		echo "$(CCC_LYNX) -c $(CFLAGS) $<"; \
#		$(CCC_LYNX) -c $(CFLAGS) $<; \
#		elif [ "`uname`" = "HP-UX" ]; then \
# 		echo "$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<"; \
#		$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<; \
#		else \
#		echo "$(CCC) -c $(CFLAGS) $<"; \
#		$(CCC) -c $(CFLAGS) $<; \
#		fi

#$(GWGROUP_OBJS): $(MAKEFILE)
#		@if [ "`uname`" = "AIX" ]; then \
#		echo "$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
#		$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
#		elif [ "`uname`" = "LynxOS" ]; then \
#		echo "$(CCC_LYNX) -c $(CFLAGS) $<"; \
#		$(CCC_LYNX) -c $(CFLAGS) $<; \
#		elif [ "`uname`" = "HP-UX" ]; then \
# 		echo "$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<"; \
#		$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<; \
#		else \
#		echo "$(CCC) -c $(CFLAGS) $<"; \
#		$(CCC) -c $(CFLAGS) $<; \
#		fi

#$(LIB_OBJS):	$(MAKEFILE)
#		@if [ "`uname`" = "AIX" ]; then \
#		echo "$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<"; \
#		$(CCC_AIX) -c $(CFLAGS) $(EXTRA_AIX_CFLAGS) $<; \
#		elif [ "`uname`" = "LynxOS" ]; then \
#		echo "$(CCC_LYNX) -c $(CFLAGS) $<"; \
#		$(CCC_LYNX) -c $(CFLAGS) $<; \
##		elif [ "`uname`" = "HP-UX" ]; then \
# 		echo "$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<"; \
#		$(CCC) -c $(CFLAGS) $(EXTRA_HPUX_CFLAGS) $<; \
#		else \
#		echo "$(CCC) -c $(CFLAGS) $<"; \
#		$(CCC) -c $(CFLAGS) $<; \
#		fi

#$(TNKEY_OBJS):	$(MAKEFILE)
#		@if [ "`uname`" = "AIX" ]; then \
#		echo "$(CC_AIX) -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

$(GWUSER):	$(GWUSER_OBJS) $(OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $(GWUSER) ..."
		@if [ "`uname`" = "HP-UX" ]; then \
		$(LD_HPUX) $(LDFLAGS) $(GWUSER_OBJS) $(OBJS) $(LIBS) \
				$(EXTRA_LIBS) -o $(GWUSER); \
		elif [ "`uname`" = "LynxOS" ]; then \
		$(LD) $(LDFLAGS) $(GWUSER_OBJS) $(OBJS) $(LIBS) \
				$(EXTRA_LYNX_LIBS) -o $(GWUSER); \
		elif [ "`uname`" = "Linux" ]; then \
		$(LD_LINUX) $(LDFLAGS) $(GWUSER_OBJS) $(OBJS) $(EXTRA_LINUX_LIBS) \
		$(LIBS) -o $(GWUSER); \
		elif [ "`uname`" = "AIX" ]; then \
		$(LD) $(LDFLAGS) $(GWUSER_OBJS) $(OBJS) \
				$(EXTRA_AIX_LIBS) $(LIBS) -o $(GWUSER); \
		else \
		$(LD) $(LDFLAGS) $(GWUSER_OBJS) $(OBJS) $(LIBS) \
				$(EXTRA_LIBS) -o $(GWUSER); \
		fi
		@echo "done"

$(GWGROUP):	$(GWGROUP_OBJS) $(OBJS) $(LIBS) $(MAKEFILE)
		@echo "Linking $(GWGROUP) ..."
		@if [ "`uname`" = "HP-UX" ]; then \
		$(LD_HPUX) $(LDFLAGS) $(GWGROUP_OBJS) $(OBJS) $(LIBS) \
				$(EXTRA_LIBS) -o $(GWGROUP); \
		elif [ "`uname`" = "LynxOS" ]; then \
		$(LD) $(LDFLAGS) $(GWGROUP_OBJS) $(OBJS) $(LIBS) \
				$(EXTRA_LYNX_LIBS) -o $(GWGROUP); \
		elif [ "`uname`" = "Linux" ]; then \
		$(LD_LINUX) $(LDFLAGS) $(GWGROUP_OBJS) $(OBJS) $(LIBS)\
				$(EXTRA_LINUX_LIBS) -o $(GWGROUP); \
		elif [ "`uname`" = "AIX" ]; then \
		$(LD) $(LDFLAGS) $(GWGROUP_OBJS) $(OBJS) \
				$(EXTRA_AIX_LIBS) $(LIBS) -o $(GWGROUP); \
		else \
		$(LD) $(LDFLAGS) $(GWGROUP_OBJS) $(OBJS) $(LIBS) \
				$(EXTRA_LIBS) -o $(GWGROUP); \
		fi
		@echo "done"

$(LIBRARY):	$(LIB_OBJS) $(LIB_OBJS_REF) $(MAKEFILE)
		@echo "Loading $(LIBRARY) ..."
		@ar $(ARFLAGS) $(LIBRARY) $(LIB_OBJS) $(LIB_OBJS_REF)
		@echo "done"

$(TNKEY):	$(TNKEY_OBJS) $(TNKEY_LIBS) $(MAKEFILE)
		@echo "Linking $(TNKEY) ..."
		@if [ "`uname`" = "AIX" ]; then \
		$(CC) $(LDFLAGS) $(TNKEY_OBJS) $(EXTRA_AIX_LIBS) \
		$(TNKEY_LIBS) -o $(TNKEY); \
		elif [ "`uname`" = "SunOS" ]; then \
		$(CC) $(LDFLAGS) $(TNKEY_OBJS) $(EXTRA_SUNOS_LIBS) \
		$(TNKEY_LIBS) -o $(TNKEY); \
		else \
		$(CC) $(LDFLAGS) $(TNKEY_OBJS) $(TNKEY_LIBS) -o $(TNKEY); \
		fi
		@echo "done"

clean:;		@rm -f $(GWGROUP) $(GWUSER) $(TNKEY) $(LIBRARY) $(OBJS) \
		$(GWUSER_OBJS) $(GWGROUP_OBJS) $(LIB_OBJS) $(TNKEY_OBJS) \
		core make.log

clobber:;	@rm -f $(OBJS) $(GWUSER_OBJS) $(GWGROUP_OBJS) $(LIB_OBJS) \
		$(TNKEY_OBJS) core tags

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

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

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

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

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

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

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

update:		$(DEST)/$(GWGROUP) $(DEST)/$(GWUSER) $(DEST)/$(TNKEY)

touch:;		@touch $(SRCS) $(HDRS)
###
addgroup.o: ../../include/firewall.h ../../include/gwuser.h
adduser.o: ../../include/firewall.h ../../include/gwuser.h
authadmin.o: ../../include/firewall.h ../../include/gwuser.h
check_password.o: ../../include/firewall.h ../../include/gwuser.h
close_db.o: ../../include/firewall.h ../../include/gwuser.h
convert_db.o: ../../include/firewall.h ../../include/gwuser.h
delgroup.o: ../../include/firewall.h ../../include/gwuser.h
deluser.o: ../../include/firewall.h ../../include/gwuser.h
encrypt_record.o: ../../libdes/des.h ../../include/firewall.h ../../include/gwuser.h
get_date.o: ../../include/firewall.h ../../include/gwuser.h
get_ftp.o: ../../include/firewall.h ../../include/gwuser.h
get_gwgroup.o: ../../include/firewall.h ../../include/gwuser.h
get_gwuser.o: ../../include/firewall.h ../../include/gwuser.h
get_gwuserconf.o: ../../include/firewall.h ../../include/gwuser.h
get_key.o: ../../include/firewall.h ../../include/gwuser.h
get_password.o: ../../include/firewall.h ../../include/gwuser.h
get_string.o: ../../include/firewall.h ../../include/gwuser.h
get_telnet.o: ../../include/firewall.h ../../include/gwuser.h
get_times.o: ../../include/firewall.h ../../include/gwuser.h
get_token.o: ../../include/firewall.h ../../include/gwuser.h
groupargs.o: ../../include/firewall.h ../../include/gwuser.h
grouphelp.o: ../../include/firewall.h ../../include/gwuser.h
gwgroup.o: ../../include/firewall.h ../../include/gwuser.h
gwuser.o: ../../include/firewall.h ../../include/gwuser.h
gwuserconf.o: ../../include/firewall.h ../../include/gwuser.h
info_db.o: ../../include/firewall.h ../../include/gwuser.h
listgroup.o: ../../include/firewall.h ../../include/gwuser.h
listuser.o: ../../include/firewall.h ../../include/gwuser.h
modgroup.o: ../../include/firewall.h ../../include/gwuser.h
moduser.o: ../../include/firewall.h ../../include/gwuser.h
open_db.o: ../../include/firewall.h ../../include/gwuser.h
pattern_match.o: ../../include/firewall.h ../../include/gwuser.h
query_db.o: ../../include/firewall.h ../../include/gwuser.h
set_password.o: ../../include/firewall.h ../../include/gwuser.h
userargs.o: ../../include/firewall.h ../../include/gwuser.h
userhelp.o: ../../include/firewall.h ../../include/gwuser.h
