1mydir=lib 2SUBDIRS=crypto krb5 gssapi rpc kdb kadm5 apputils krad 3WINSUBDIRS=crypto krb5 gssapi 4BUILDTOP=$(REL).. 5 6all-unix: 7 8CLEANLIBS = libkrb5.a libkdb5.a libcrypto.a libgssapi_krb5.a libkadm.a \ 9 libcom_err.a libpty.a ibss.a libgssapi.a libapputils.a libkrb5.so \ 10 libcrypto.so 11 12clean-unix:: 13 14clean-windows:: 15 16# Windows stuff to make krb5 and gssapi DLLs. 17 18##MIT##!if !defined(VS_INC) 19##MIT##!message Must define VS_INC to point to version server include dir! 20##MIT##!error 21##MIT##!endif 22##MIT##!if !defined(VS_LIB) 23##MIT##!message Must define VS_LIB to point to version server library! 24##MIT##!error 25##MIT##!endif 26##MIT##MITLIBS=$(VS_LIB) 27##MIT##MITFLAGS=-I$(VS_INC) /DVERSERV=1 28 29 30 31##WIN32##SLIBS = $(BUILDTOP)\util\support\$(OUTPRE)k5sprt$(BITS).lib 32##WIN32##CLIBS = $(BUILDTOP)\util\et\$(OUTPRE)comerr.lib 33##WIN32##PLIBS = $(BUILDTOP)\util\profile\$(OUTPRE)profile.lib 34##WIN32##KLIBS = krb5\$(OUTPRE)krb5.lib crypto\$(OUTPRE)crypto.lib \ 35##WIN32## $(BUILDTOP)\util\profile\$(OUTPRE)profile.lib 36##WIN32##GLIBS = gssapi\$(OUTPRE)gssapi.lib 37 38 39##WIN32##SDEF = k5sprt32.def 40##WIN32##CDEF = comerr32.def 41##WIN32##PDEF = xpprof32.def 42##WIN32##KDEF = krb5_32.def 43##WIN32##GDEF = gssapi32.def 44 45 46 47##WIN32##KRB5RC = krb5.rc 48##WIN32##VERSIONRC = $(BUILDTOP)\windows\version.rc 49 50##WIN32##!if defined(VISUALSTUDIOVERSION) 51##WIN32##!if $(VISUALSTUDIOVERSION:.=) >= 140 52##WIN32##!ifdef NODEBUG 53##WIN32##WINCRTEXTRA = ucrt.lib vcruntime.lib 54##WIN32##!else 55##WIN32##WINCRTEXTRA = ucrtd.lib vcruntimed.lib 56##WIN32##!endif 57##WIN32##!endif 58##WIN32##!endif 59##WIN32##WINLIBS = kernel32.lib ws2_32.lib user32.lib shell32.lib oldnames.lib \ 60##WIN32## version.lib secur32.lib advapi32.lib gdi32.lib delayimp.lib \ 61##WIN32## $(WINCRTEXTRA) 62##WIN32##WINDLLFLAGS = $(DLL_LINKOPTS) -base:0x1c000000 /DELAYLOAD:secur32.dll \ 63##WIN32## /DELAYLOAD:advapi32.dll /DELAY:UNLOAD /DELAY:NOBIND 64 65##WIN32##S_GLUE=$(OUTPRE)support_glue.obj 66##WIN32##K5_GLUE=$(OUTPRE)k5_glue.obj 67##WIN32##GSS_GLUE=$(OUTPRE)gss_glue.obj 68##WIN32##COMERR_GLUE=$(OUTPRE)comerr_glue.obj 69##WIN32##PROF_GLUE=$(OUTPRE)prof_glue.obj 70 71##WIN32##SGLUE=$(S_GLUE) 72##WIN32##CGLUE=$(COMERR_GLUE) 73##WIN32##PGLUE=$(PROF_GLUE) 74##WIN32##KGLUE=$(K5_GLUE) 75##WIN32##GGLUE=$(GSS_GLUE) 76 77##WIN32##RCFLAGS=$(CPPFLAGS) -I$(top_srcdir) -D_WIN32 -DRES_ONLY 78 79##WIN32##SRES=$(SLIB:.lib=.res) 80##WIN32##CRES=$(CLIB:.lib=.res) 81##WIN32##PRES=$(PLIB:.lib=.res) 82##WIN32##KRES=$(KLIB:.lib=.res) 83##WIN32##GRES=$(GLIB:.lib=.res) 84 85##WIN32##$(SRES): $(VERSIONRC) 86##WIN32## $(RC) $(RCFLAGS) -DSUPPORT_LIB -fo $@ -r $** 87##WIN32##$(CRES): $(VERSIONRC) 88##WIN32## $(RC) $(RCFLAGS) -DCE_LIB -fo $@ -r $** 89##WIN32##$(PRES): $(VERSIONRC) 90##WIN32## $(RC) $(RCFLAGS) -DPROF_LIB -fo $@ -r $** 91##WIN32##$(KRES): $(KRB5RC) 92##WIN32## $(RC) $(RCFLAGS) -DKRB5_LIB -fo $@ -r $** 93##WIN32##$(GRES): $(VERSIONRC) 94##WIN32## $(RC) $(RCFLAGS) -DGSSAPI_LIB -fo $@ -r $** 95##WIN32##$(KRB5RC): $(VERSIONRC) 96 97##WIN32##$(SLIB): $(SDEF) $(SLIBS) $(SGLUE) $(SRES) 98##WIN32## link $(WINDLLFLAGS) -def:$(SDEF) -out:$*.dll \ 99##WIN32## $(SLIBS) $(SGLUE) $(SRES) $(WINLIBS) 100##WIN32## $(_VC_MANIFEST_EMBED_DLL) 101##WIN32##$(SDEF): ..\util\support\libkrb5support.exports 102##WIN32## echo EXPORTS > $(SDEF).new 103##WIN32## type ..\util\support\libkrb5support.exports >> $(SDEF).new 104##WIN32## -$(RM) $(SDEF) 105##WIN32## ren $(SDEF).new $(SDEF) 106 107##WIN32##$(CLIB): $(CDEF) $(CLIBS) $(CGLUE) $(CRES) $(SLIB) 108##WIN32## link $(WINDLLFLAGS) -def:$(CDEF) -out:$*.dll \ 109##WIN32## $(CLIBS) $(CGLUE) $(CRES) $(SLIB) $(WINLIBS) 110##WIN32## $(_VC_MANIFEST_EMBED_DLL) 111 112##WIN32##$(PLIB): $(PDEF) $(PLIBS) $(PGLUE) $(PRES) $(CLIB) $(SLIB) 113##WIN32## link $(WINDLLFLAGS) -def:$(PDEF) -out:$*.dll \ 114##WIN32## $(PLIBS) $(PGLUE) $(PRES) $(CLIB) $(SLIB) $(WINLIBS) 115##WIN32## $(_VC_MANIFEST_EMBED_DLL) 116 117##WIN32##$(KLIB): $(KDEF) $(KLIBS) $(KGLUE) $(KRES) $(CLIB) $(SLIB) $(MITLIBS) 118##WIN32## link $(WINDLLFLAGS) -def:$(KDEF) -out:$*.dll \ 119##WIN32## $(KLIBS) $(KGLUE) $(KRES) $(CLIB) $(SLIB) $(MITLIBS) $(DNSLIBS) $(WINLIBS) 120##WIN32## $(_VC_MANIFEST_EMBED_DLL) 121 122##WIN32##$(GLIB): $(GDEF) $(GLIBS) $(GGLUE) $(GRES) $(KLIB) $(CLIB) $(SLIB) 123##WIN32## link $(WINDLLFLAGS) -def:$(GDEF) -out:$*.dll \ 124##WIN32## $(GLIBS) $(GGLUE) $(GRES) $(KLIB) $(CLIB) $(SLIB) $(WINLIBS) 125##WIN32## $(_VC_MANIFEST_EMBED_DLL) 126 127##WIN32##$(K5_GLUE): win_glue.c 128##WIN32## $(CC) $(ALL_CFLAGS) $(MITFLAGS) /c /DKRB5=1 /Fo$@ $** 129##WIN32##$(GSS_GLUE): win_glue.c 130##WIN32## $(CC) $(ALL_CFLAGS) /c /DGSSAPI=1 /Fo$@ $** 131##WIN32##$(COMERR_GLUE): win_glue.c 132##WIN32## $(CC) $(ALL_CFLAGS) /c /DCOMERR=1 /Fo$@ $** 133##WIN32##$(PROF_GLUE): win_glue.c 134##WIN32## $(CC) $(ALL_CFLAGS) /c /DPROFILELIB=1 /Fo$@ $** 135##WIN32##$(S_GLUE): win_glue.c 136##WIN32## $(CC) $(ALL_CFLAGS) /c /DSUPPORTLIB=1 /Fo$@ $** 137 138##WIN32### Build Convenience 139##WIN32##comerr.lib: $(CLIB) 140##WIN32##krb5.lib: $(KLIB) 141##WIN32##gssapi.lib: $(GLIB) 142##WIN32##profile.lib: $(PLIB) 143 144##WIN32##all-windows: all-recurse lib-windows 145##WIN32##lib-windows: krb5.lib gssapi.lib profile.lib 146