# This Makefile controls a build process of the pam_krb5 module
# for Linux-PAM.  
# Set KRBINCLUDE, KRBSOURCE, KRBLIB, SECUREDIR for your environment.  
# make all

# Set these parameters!!
KRBINCLUDE=-I/usr/local/include
KRBLIB=-L/usr/local/lib
KRBSOURCE=/usr/local/src/krb5-1.0.4/krb5-1.0.4/src
SECUREDIR=/lib/security
#as default, it produces dynamic library
DYNAMIC=1
CC=gcc -g 

INCLUDE=$(KRBINCLUDE) -I$(KRBSOURCE)/include -I$(KRBSOURCE)/include/krb5 -I$(KRBSOURCE)/include/kadm5 -I$(KRBSOURCE)/kadmin/passwd
CFLAGS += $(INCLUDE) $(EXTRAS) -DUSE_KADM5_API_VERSION=1


TITLE=pam_krb5

EXTRAS=

LIBSRC = $(TITLE).c
LIBOBJ = $(TITLE).o
LIBOBJD = $(addprefix dynamic/,$(LIBOBJ))
LIBOBJS = $(addprefix static/,$(LIBOBJ))
LIBDEPS = pam_krb5_auth.-c pam_krb5_passwd.-c \
	pam_krb5_sess.-c support.-c


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


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

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

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

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

info:
	@echo
	@echo "*** Building pam-krb5 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)
	$(LD) -x --shared -o $@ $(LIBOBJD) $(PLUS) $(KRBLIB) -lkadm5clnt -lgssrpc -lgssapi_krb5 -lkdb5   -lkrb5 -lcrypto  -ldyn $(KRBSOURCE)/lib/libdb.a -lcom_err


endif

ifdef STATIC
$(LIBOBJS): $(LIBSRC)

$(LIBSTATIC): $(LIBOBJS)
	$(LD) -r -o $@ $(LIBOBJS) $(PLUS) $(KRBLIB) -lkadm5clnt -lgssrpc -lgssapi_krb5 -lkdb5   -lkrb5 -lcrypto  -ldyn $(KRBSOURCE)/lib/libdb.a -lcom_err

endif

install: all
ifdef DYNAMIC
	install -m644 $(LIBSHARED) $(SECUREDIR)/$(TITLE).so
endif

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

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

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

#####################################################################
# $Log: Makefile,v $
# 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
#
#
