#
# Copyright (c) 1988 Regents of the University of California.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# provided that the above copyright notice and this paragraph are
# duplicated in all such forms and that any documentation, advertising
# materials, and other materials related to such redistribution and
# use acknowledge that the software was developed by the University
# of California, Berkeley.  The name of the University may not be
# used to endorse or promote products derived from this software
# without specific prior written permission.  THIS SOFTWARE IS PROVIDED
# ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
# WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
# FITNESS FOR A PARTICULAR PURPOSE.
#
# @(#)Makefile	5.1 (Berkeley) 10/18/88
#

SKEY=	../skey
CFLAGS=	-O -DNONICE -DFACILITY=LOG_AUTH -DTABLE=\"/etc/login.access\" \
	$(XFLAGS) $(WIN_DEFS)
LIBS=	../lib/libutil.a $(XLIBS)
SRCS=	login.c
OBJS=	login.o login_access.o login_fbtab.o $(WIN_OBJS)
DES_OBJ=login_desrpc.o
KRB_OBJ=login_kerberos.o
KRB_INC=/some/where/kerberos_includes
KRB_LIB=-L/some/where/kerberos_libs -lkrb -ldes
SVOBJS=	sysv_shadow.o sysv_environ.o sysv_default.o
SYSLIBS=
SHELL	= /bin/sh

what:
	@echo usage: make system-type. Examples of system types are: 1>&2
	@echo
	@echo bsdi-skey freebsd-skey hpux hpux-skey linux-skey 1>&2
	@echo sunos4 sunos4-skey sunos5 sunos5-kerberos sunos5-skey 1>&2
	@echo ultrix4 ultrix4-skey 1>&2
	@exit 1

all-skey: lib skey login try

all: lib login try

ultrix4-skey:
	@make all-skey SYS=ultrix4 XFLAGS="-DNIS -DSKEY -I$(SKEY)" \
	    XLIBS="$(SKEY)/libskey.a"

ultrix4:
	@make all SYS=$@ XFLAGS=-DNIS

freebsd-skey bsdi-skey 386bsd-skey:
	@make all-skey SYS=386bsd XFLAGS="-DSKEY -I$(SKEY) -DBSD44" \
	    XLIBS="$(SKEY)/libskey.a"

linux-skey:
	@echo if the shell complains try: make SHELL=/bin/ksh linux-skey
	@make all-skey SYS=linux XFLAGS="-DSKEY -I$(SKEY)" \
	    XLIBS="$(SKEY)/libskey.a"

sunos4-skey:
	@make all-skey SYS=sunos4 XFLAGS="-DNIS -DNO_SETENV \
	    -DDES_RPC -DSKEY -I$(SKEY)" OBJS="$(OBJS) $(DES_OBJ)" \
	    XLIBS="$(SKEY)/libskey.a" SYSLIBS="-lrpcsvc"

sunos4:
	@make all SYS=$@ XFLAGS="-DNIS -DNO_SETENV -DDES_RPC" \
	    OBJS="$(OBJS) $(DES_OBJ)" SYSLIBS="-lrpcsvc"

sunos5-skey:
	@make all-skey SYS=sunos5 XFLAGS="-DNIS -DNO_SETENV -DSYSV4 -DDES_RPC \
	    -DSKEY -I$(SKEY)" OBJS="$(OBJS) $(DES_OBJ) $(SVOBJS)" \
	    RANLIB=echo XLIBS="$(SKEY)/libskey.a" \
	    SYSLIBS="-lrpcsvc -lsocket -lnsl"

sunos5-kerberos:
	@make all SYS=sunos5 \
	    XFLAGS="-DNIS -DNO_SETENV -DSYSV4 -DKERBEROS -I$(KRB_INC)" \
	    OBJS="$(OBJS) $(KRB_OBJ) $(SVOBJS)" RANLIB=echo \
	    SYSLIBS="$(KRB_LIB) -lrpcsvc -lsocket -lnsl"

sunos5:
	@make all SYS=sunos5 XFLAGS="-DNIS -DNO_SETENV -DSYSV4 -DDES_RPC" \
	    OBJS="$(OBJS) $(DES_OBJ) $(SVOBJS)" RANLIB=echo \
	    SYSLIBS="-lrpcsvc -lsocket -lnsl"

hpux-skey:
	@make all-skey SYS=hpux \
	    XFLAGS="-DHPUX -DSKEY -I$(SKEY) -DNO_SETENV" \
	    XLIBS="$(SKEY)/libskey.a"

hpux:
	@make all SYS=hpux XFLAGS="-DHPUX -DNO_SETENV"

lib:
	cd ../lib; make $(SYS)

skey:
	cd $(SKEY); make $(SYS)

login: ${LIBS} ${OBJS}
	${CC} -s -o $@ ${CFLAGS} ${OBJS} ${LIBS} ${SYSLIBS}

try:	try.c login_access.o
	${CC} -o $@ ${CFLAGS} try.c login_access.o ${SYSLIBS}

clean:
	rm -f *.o core login try
	cd ../lib; make $@
	cd $(SKEY); make $@

$(OBJS): Makefile
login.o sysv_default.o sysv_environ.o: sysv_default.h
login.o sysv_shadow.o: sysv_shadow.h
login.o: paths.h sys_defs.h
