mydir=lib$(S)gssapi
BUILDTOP=$(REL)..$(S)..
SUBDIRS= generic krb5 spnego mechglue
DEFINES=-D_GSS_STATIC_LINK=1
##DOSLIBNAME=$(OUTPRE)gssapi.lib
##DOSOBJFILELIST=@$(OUTPRE)mechglue.lst @$(OUTPRE)spnego.lst @$(OUTPRE)generic.lst @$(OUTPRE)krb5.lst # @$(OUTPRE)gssapi.lst
##DOSOBJFILEDEP=$(OUTPRE)mechglue.lst $(OUTPRE)spnego.lst $(OUTPRE)generic.lst $(OUTPRE)krb5.lst # $(OUTPRE)gssapi.lst
###DOSOBJFILE=$(OUTPRE)gssapi.lst
##DOSLIBOBJS=$(OBJS)
##DOS##DLL_EXP_TYPE=GSS
LOCALINCLUDES = -Igeneric -I$(srcdir)/generic -Ikrb5 -I$(srcdir)/krb5 -I$(srcdir)/mechglue
STLIBOBJS=
OBJS=
SRCS=
LIBBASE=gssapi_krb5
LIBMAJOR=2
LIBMINOR=2
#LIBINITFUNC=gssint_lib_init
#LIBFINIFUNC=gssint_lib_fini
STOBJLISTS=OBJS.ST generic/OBJS.ST mechglue/OBJS.ST krb5/OBJS.ST spnego/OBJS.ST
SUBDIROBJLISTS=generic/OBJS.ST mechglue/OBJS.ST krb5/OBJS.ST spnego/OBJS.ST
SHLIB_EXPDEPS=\
$(KRB5_DEPLIB) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB) $(COM_ERR_DEPLIB)
SHLIB_EXPLIBS=-lkrb5 -lk5crypto -lcom_err $(SUPPORT_LIB) $(DL_LIB) $(LIBS)
RELDIR=gssapi
all-unix: all-liblinks @MAINT@ verify-calling-conventions-gssapi
install-unix: install-libs
clean-unix:: clean-liblinks clean-libs clean-libobjs clean-misc-unix
clean-windows::
$(RM) gssapi.lib gssapi.bak
clean-misc-unix: clean-recurse
$(RM) merged-gssapi-header.h
$(RM) -r $(EHDRDIR)
EHDRDIR=$(BUILDTOP)$(S)include$(S)gssapi
EXPORTED_HEADERS= \
$(EHDRDIR)$(S)gssapi_krb5.h \
$(EHDRDIR)$(S)gssapi_generic.h \
$(EHDRDIR)$(S)gssapi.h \
$(EHDRDIR)$(S)gssapi_alloc.h \
$(EHDRDIR)$(S)gssapi_ext.h
merged-gssapi-header.h: $(EXPORTED_HEADERS)
cat $(EXPORTED_HEADERS) > merged.tmp
$(MV) merged.tmp merged-gssapi-header.h
verify-calling-conventions-gssapi: merged-gssapi-header.h
$(PERL) -w $(top_srcdir)/util/def-check.pl merged-gssapi-header.h $(srcdir)/../gssapi32.def
# These rules are an attempt to handle several different problems:
#
# Certain files in subdirectories must be made current by the
# recursion step before we can build files in this directory that
# depend on them. Existing but out-of-date versions must not be used.
#
# In a parallel make, nothing should be built more than once. This
# effect can be exaggerated for testing by sticking "sleep 5" into the
# rules for generating the files in subdirectories. For example, in
# between testing for a directory and creating it -- do you then get
# mkdir complaining that the directory exists? Adding the sleep
# command may also exaggerate the build-with-outdated-headers problem,
# by causing the timestamp on the newly generated header to be several
# seconds newer than object files built with its old version, even on
# fast machines where the UNIX filesystem's one-second granularity
# would mask the problem.
#
# We must not cause these files to always be considered newly updated
# when it comes time to build the object files in this directory.
# Otherwise, we wind up recompiling some files every time we run make.
# This set of rules fails the parallel make case; it can build
# gssapi-include and all-recurse at the same time, and both will
# create include/gssapi and gssapi.h.
#$(BUILDTOP)/include/gssapi/gssapi.h: generic/gssapi.h
# (cd generic && $(MAKE) gssapi-include)
#generic/gssapi.h: generic/gssapi.hin
# (cd generic && $(MAKE) gssapi.h)
#generic/gssapi_err_generic.h: generic/gssapi_err_generic.et
# (cd generic && $(MAKE) gssapi_err_generic.h)
#krb5/gssapi_err_krb5.h: krb5/gssapi_err_krb5.et
# (cd krb5 && $(MAKE) gssapi_err_krb5.h)
# This version, without the no-op command to run, reportedly caused
# repeated rebuilds in certain cases. With the no-op command, it
# appears to be properly serializing the subdir processing and local
# compiles... so far.
##DOS##!if 0
$(EXPORTED_HEADERS) generic/gssapi.h krb5/gssapi_err_krb5.h generic/gssapi_err_generic.h krb5/gssapi_krb5.h: all-recurse
: $@ updated by recursion rule
##DOS##!endif
@lib_frag@
@libobj_frag@