# $Id: Makefile,v 1.2 1997/07/18 17:19:43 warlord Exp $
#
# This Makefile controls a build process of the pam_afstok module
# for Linux-PAM. You should not modify this Makefile.
#
# rewritten to compile new module Derrick J. Brashear
# <shadow@DEMENTIA.ORG> 1996/11/05
#

TITLE=pam_afstok

# Normally we use Kerberos and then ktc_SetToken
CFLAGS=
# If you have AFS 3.3a or later
#CFLAGS=-DHAVE_AFS_33A
# If you have KTH Kerberos
#CFLAGS=-DHAVE_KTH_KRB
# If you have libkrbafs
#CFLAGS=-DHAVE_LIBKRBAFS

# My AFS is in /mit/afsuser. Where's yours?
AFSDIR=/mit/afsuser

# My Krb includes are in /usr/athena.  Where's yours?
KRBDIR=/usr/athena

EXTRAS=

LIBSRC = $(TITLE).c
LIBOBJ = $(TITLE).o
LIBOBJD = $(addprefix dynamic/,$(LIBOBJ))
LIBOBJS = $(addprefix static/,$(LIBOBJ))
LIBDEPS = pam_afstok.c

CFLAGS += $(EXTRAS) -I$(KRBDIR)/include -I$(AFSDIR)/include

dummy:
	@echo "**** This is not a top-level Makefile "
	exit

dynamic/$(LIBOBJ) : $(LIBSRC) $(LIBDEPS)
	$(CC) $(CFLAGS) $(DYNAMIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ 

static/$(LIBOBJ) : $(LIBSRC) $(LIBDEPS)
	$(CC) $(CFLAGS) $(STATIC) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ 

ifdef DYNAMIC
LIBSHARED = $(TITLE).so
endif
ifdef STATIC
LIBSTATIC = lib$(TITLE).o
endif

all: info dirs $(PLUS) $(LIBSHARED) $(LIBSTATIC) register

info:
	@echo
	@echo "*** Building pam-afstok module of the framework..."
	@echo

dirs:
ifdef DYNAMIC
	mkdir -p ./dynamic
endif
ifdef STATIC
	mkdir -p ./static
endif

register:
ifdef STATIC
	( cd .. ; ./register_static $(TITLE) $(TITLE)/$(LIBSTATIC) )
endif

ifdef DYNAMIC
$(LIBOBJD): $(LIBSRC)

$(LIBSHARED):	$(LIBOBJD)
ifdef HAVE_KTH_KRB
	$(LD_D) -o $@ $(LIBOBJD) $(PLUS) -lkrb -ldes -lkafs
else
ifdef HAVE_LIBKRBAFS
	$(LD_D) -o $@ $(LIBOBJD) $(PLUS) -lkrb -ldes -lkrbafs
else
ifdef HAVE_AFS_33A
	$(LD_D) -o $@ $(LIBOBJD) $(PLUS) -lkrb -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lkauth -lprot -lubik -lauth -lsys -lrxkad -lrx -llwp -ldes $(AFSDIR)/lib/afs/util.a -lcom_err
else
	$(LD_D) -o $@ $(LIBOBJD) $(PLUS) -L$(KRBDIR)/lib -lkrb -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lauth -lsys -lrxkad -lrx -llwp -ldes $(AFSDIR)/lib/afs/util.a -lcom_err
endif
endif
endif
endif

ifdef STATIC
$(LIBOBJS): $(LIBSRC)

$(LIBSTATIC): $(LIBOBJS)
ifdef HAVE_KTH_KRB
	$(LD) -r -o $@ $(LIBOBJD) $(PLUS) -L$(KRBDIR)/lib -lkrb -ldes -lkafs
else
ifdef HAVE_LIBKRBAFS
	$(LD) -r -o $@ $(LIBOBJD) $(PLUS) -L$(KRBDIR)/lib -lkrb -ldes -lkrbafs
else
ifdef HAVE_AFS_33A
	$(LD) -r -o $@ $(LIBOBJS) $(PLUS) -L$(KRBDIR)/lib -lkrb -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lkauth -lprot -lubik -lauth -lsys -lrxkad -lrx -llwp -ldes $(AFSDIR)/lib/afs/util.a -lcom_err
else
	$(LD) -r -o $@ $(LIBOBJS) $(PLUS) -L$(KRBDIR)/lib -lkrb -L$(AFSDIR)/lib -L$(AFSDIR)/lib/afs -lauth -lsys -lrxkad -lrx -llwp -ldes $(AFSDIR)/lib/afs/util.a -lcom_err
endif
endif
endif
endif

install: all
	mkdir -p $(SECUREDIR)
ifdef DYNAMIC
	install -m 644 $(LIBSHARED) $(SECUREDIR)
endif

remove:
	rm -f $(SECUREDIR)/$(TITLE).so

clean:
	rm -f $(LIBOBJD) $(LIBOBJS) core *~

extraclean: clean
	rm -f *.a *.o *.so *.bak

#####################################################################
# $Log: Makefile,v $
# Revision 1.2  1997/07/18 17:19:43  warlord
# Fixed Makefile for Athenaisms; look for AFS and Kerberos in different
# places
#
# Revision 1.1  1997/07/18 16:37:57  warlord
# Initial revision based on Derrick Brashear's AFS Token PAM Module
#
# Revision 1.2  1996/09/05 06:36:49  morgan
# options added and use of LD altered
#
# Revision 1.1  1996/08/29 13:23:29  morgan
# Initial revision
#
#
