1mydir=lib$(S)gssapi 2BUILDTOP=$(REL)..$(S).. 3SUBDIRS= generic krb5 spnego mechglue 4DEFINES=-D_GSS_STATIC_LINK=1 5 6##DOSLIBNAME=$(OUTPRE)gssapi.lib 7##DOSOBJFILELIST=@$(OUTPRE)mechglue.lst @$(OUTPRE)spnego.lst @$(OUTPRE)generic.lst @$(OUTPRE)krb5.lst # @$(OUTPRE)gssapi.lst 8##DOSOBJFILEDEP=$(OUTPRE)mechglue.lst $(OUTPRE)spnego.lst $(OUTPRE)generic.lst $(OUTPRE)krb5.lst # $(OUTPRE)gssapi.lst 9 10###DOSOBJFILE=$(OUTPRE)gssapi.lst 11##DOSLIBOBJS=$(OBJS) 12 13##DOS##DLL_EXP_TYPE=GSS 14 15LOCALINCLUDES = -Igeneric -I$(srcdir)/generic -Ikrb5 -I$(srcdir)/krb5 -I$(srcdir)/mechglue 16STLIBOBJS= 17 18OBJS= 19SRCS= 20 21LIBBASE=gssapi_krb5 22LIBMAJOR=2 23LIBMINOR=2 24#LIBINITFUNC=gssint_lib_init 25#LIBFINIFUNC=gssint_lib_fini 26SUBDIROBJLISTS=generic/OBJS.ST mechglue/OBJS.ST krb5/OBJS.ST spnego/OBJS.ST 27STOBJLISTS=OBJS.ST $(SUBDIROBJLISTS) 28SHLIB_EXPDEPS=\ 29 $(KRB5_DEPLIB) $(CRYPTO_DEPLIB) $(SUPPORT_DEPLIB) $(COM_ERR_DEPLIB) 30SHLIB_EXPLIBS=-lkrb5 -lk5crypto $(COM_ERR_LIB) $(SUPPORT_LIB) $(DL_LIB) $(LIBS) 31RELDIR=gssapi 32 33all-unix: all-liblinks @MAINT@ verify-calling-conventions-gssapi 34 35install-unix: install-libs 36 37clean-unix:: clean-liblinks clean-libs clean-libobjs clean-misc-unix 38 39clean-windows:: 40 $(RM) gssapi.lib gssapi.bak 41 42clean-misc-unix: clean-recurse 43 $(RM) merged-gssapi-header.h 44 $(RM) -r $(EHDRDIR) 45 46EHDRDIR=$(BUILDTOP)$(S)include$(S)gssapi 47EXPORTED_HEADERS= \ 48 $(EHDRDIR)$(S)gssapi_krb5.h \ 49 $(EHDRDIR)$(S)gssapi_generic.h \ 50 $(EHDRDIR)$(S)gssapi.h \ 51 $(EHDRDIR)$(S)gssapi_alloc.h \ 52 $(EHDRDIR)$(S)gssapi_ext.h 53merged-gssapi-header.h: $(EXPORTED_HEADERS) 54 cat $(EXPORTED_HEADERS) > merged.tmp 55 $(MV) merged.tmp merged-gssapi-header.h 56verify-calling-conventions-gssapi: merged-gssapi-header.h 57 $(PERL) -w $(top_srcdir)/util/def-check.pl merged-gssapi-header.h $(srcdir)/../gssapi32.def 58 59# These rules are an attempt to handle several different problems: 60# 61# Certain files in subdirectories must be made current by the 62# recursion step before we can build files in this directory that 63# depend on them. Existing but out-of-date versions must not be used. 64# 65# In a parallel make, nothing should be built more than once. This 66# effect can be exaggerated for testing by sticking "sleep 5" into the 67# rules for generating the files in subdirectories. For example, in 68# between testing for a directory and creating it -- do you then get 69# mkdir complaining that the directory exists? Adding the sleep 70# command may also exaggerate the build-with-outdated-headers problem, 71# by causing the timestamp on the newly generated header to be several 72# seconds newer than object files built with its old version, even on 73# fast machines where the UNIX filesystem's one-second granularity 74# would mask the problem. 75# 76# We must not cause these files to always be considered newly updated 77# when it comes time to build the object files in this directory. 78# Otherwise, we wind up recompiling some files every time we run make. 79 80# This set of rules fails the parallel make case; it can build 81# gssapi-include and all-recurse at the same time, and both will 82# create include/gssapi and gssapi.h. 83#$(BUILDTOP)/include/gssapi/gssapi.h: generic/gssapi.h 84# (cd generic && $(MAKE) gssapi-include) 85#generic/gssapi.h: generic/gssapi.hin 86# (cd generic && $(MAKE) gssapi.h) 87#generic/gssapi_err_generic.h: generic/gssapi_err_generic.et 88# (cd generic && $(MAKE) gssapi_err_generic.h) 89#krb5/gssapi_err_krb5.h: krb5/gssapi_err_krb5.et 90# (cd krb5 && $(MAKE) gssapi_err_krb5.h) 91 92# This version, without the no-op command to run, reportedly caused 93# repeated rebuilds in certain cases. With the no-op command, it 94# appears to be properly serializing the subdir processing and local 95# compiles... so far. 96##DOS##!if 0 97$(EXPORTED_HEADERS) generic/gssapi.h krb5/gssapi_err_krb5.h generic/gssapi_err_generic.h krb5/gssapi_krb5.h: all-recurse 98 : $@ updated by recursion rule 99##DOS##!endif 100 101 102@lib_frag@ 103@libobj_frag@ 104 105