1# makefile: Constructs the Kerberos for Windows CCAPI DLL. 2# 3OBJS = $(OUTPRE)ccapi_ccache.obj \ 4 $(OUTPRE)ccapi_ccache_iterator.obj \ 5 $(OUTPRE)ccapi_context.obj \ 6 $(OUTPRE)ccapi_context_change_time.obj \ 7 $(OUTPRE)ccapi_credentials.obj \ 8 $(OUTPRE)ccapi_credentials_iterator.obj \ 9 $(OUTPRE)ccapi_ipc.obj \ 10 $(OUTPRE)ccapi_err.obj \ 11 $(OUTPRE)ccapi_os_ipc.obj \ 12 $(OUTPRE)ccapi_string.obj \ 13 $(OUTPRE)ccapi_v2.obj \ 14 $(OUTPRE)cci_array_internal.obj \ 15 $(OUTPRE)cci_cred_union.obj \ 16 $(OUTPRE)cci_debugging.obj \ 17 $(OUTPRE)cci_identifier.obj \ 18 $(OUTPRE)cci_message.obj \ 19 $(OUTPRE)cci_os_debugging.obj \ 20 $(OUTPRE)cci_os_identifier.obj \ 21 $(OUTPRE)ccs_reply_proc.obj \ 22 $(OUTPRE)ccs_reply_s.obj \ 23 $(OUTPRE)ccs_request_c.obj \ 24 $(OUTPRE)ccutils.obj \ 25 $(OUTPRE)client.obj \ 26 $(OUTPRE)dllmain.obj \ 27 $(OUTPRE)init.obj \ 28 $(OUTPRE)secure.obj \ 29 $(OUTPRE)tls.obj \ 30 $(OUTPRE)util.obj \ 31 $(OUTPRE)win-utils.obj 32 33##### Options 34# Set NODEBUG if building release instead of debug 35 36#BUILDTOP is krb5/src and is relative to krb5/src/ccapi/lib/win, for making Makefile. 37BUILDTOP= ..\..\.. 38CCAPI = $(BUILDTOP)\CCAPI 39CO = $(CCAPI)\common 40COWIN = $(CCAPI)\common\win 41CCUTIL = $(CCAPI)\common\win\OldCC 42LIBDIR = $(CCAPI)\lib 43LIBWIN = $(LIBDIR)\win 44POSIX = $(BUILDTOP)\lib\krb5\posix 45OLDCC = $(LIBWIN)\OldCC 46SRCTMP = $(LIBWIN)\srctmp 47 48!if defined(KRB5_KFW_COMPILE) 49KFWINC= /I$(BUILDTOP)\..\..\krbcc\include 50!endif 51 52# Because all the sources are pulled together into the temp directory SRCTMP, 53# the only includes we need are to directories outside of ccapi. 54LOCALINCLUDES = /I..\$(BUILDTOP) /I..\$(BUILDTOP)\include /I..\$(BUILDTOP)\include\krb5 $(KFWINC) \ 55 -I..\$(BUILDTOP)\util\et 56MIDLINCLUDES = /I..\$(BUILDTOP)\include 57 58CPPFLAGS = $(CPPFLAGS) /EHsc -D_CRTAPI1=_cdecl -D_CRTAPI2=_cdecl -DWINVER=0x0501 \ 59-D_WIN32_WINNT=0x0501 -D_CRT_SECURE_NO_WARNINGS $(cvarsdll) 60 61 62##### Linker 63LINK = link 64LIBS = ..\$(CLIB) ..\$(SLIB) kernel32.lib ws2_32.lib user32.lib advapi32.lib 65LFLAGS = /nologo $(LOPTS) 66 67all: Makefile copysrc midl $(OUTPRE)$(CCLIB).dll finish 68 69ccs_request.h ccs_request_c.c ccs_request_s.c : ccs_request.idl ccs_request.acf 70 midl $(MIDL_OPTIMIZATION) $(MIDLI) -oldnames -cpp_cmd $(CC) -cpp_opt "-E" \ 71 ccs_request.idl 72 73ccs_reply.h ccs_reply_c.c ccs_reply_s.c : ccs_reply.idl ccs_reply.acf 74 midl $(MIDL_OPTIMIZATION) $(MIDLI) -oldnames -cpp_cmd $(CC) -cpp_opt "-E" \ 75 ccs_reply.idl 76 77copysrc : 78 echo "Copying all sources needed to build $(CCLIB).dll to $(SRCTMP)" 79 if NOT exist $(SRCTMP)\nul mkdir $(SRCTMP) 80 xcopy /D/Y $(CO)\*.* $(SRCTMP) 81 xcopy /D/Y $(COWIN)\*.* $(SRCTMP) 82 xcopy /D/Y $(CCUTIL)\*.* $(SRCTMP) 83 xcopy /D/Y $(LIBDIR)\*.* $(SRCTMP) 84 xcopy /D/Y $(LIBWIN)\*.* $(SRCTMP) 85 xcopy /D/Y $(OLDCC)\*.* $(SRCTMP) 86 cd $(SRCTMP) 87 if NOT exist $(OUTPRE)\nul mkdir $(OUTPRE) 88 89midl : ccs_request.h ccs_reply.h 90 91VERSIONRC = $(BUILDTOP)\..\windows\version.rc 92CCLIBRES = $(OUTPRE)$(CCLIB).res 93# Main program: 94$(CCLIBRES): $(VERSIONRC) 95 $(RC) $(RCFLAGS) -DCCAPI_LIB -fo $@ -r $** 96 97$(OUTPRE)$(CCLIB).dll: $(OBJS) $(CCLIB).def $(CCLIBRES) 98 $(LINK) $(LFLAGS) -entry:$(ENTRYPOINT) -dll /map:$*.map /out:$@ /DEF:$(CCLIB).def $(OBJS) \ 99 /implib:$(CCLIB).lib $(dllflags) $(LIBS) $(KFWLIB) $(CCLIBRES) rpcrt4.lib $(conlibsdll) $(conflags) 100 101$(CCLIB).def: 102 echo ;$(CCLIB).def is generated by a Makefile rule. > $(CCLIB).def 103 echo HEAPSIZE 8192 >> $(CCLIB).def 104 echo EXPORTS >> $(CCLIB).def 105 type ccapi.exports >> $(CCLIB).def 106 type ccapi_v2.exports >> $(CCLIB).def 107 type debug.exports >> $(CCLIB).def 108 109finish: 110 echo "Finished in ccapi/lib/win." 111 cd .. 112 113install: 114 echo "Doing nothing for make install" 115 116clean: 117 if exist $(OUTPRE)*.exe del $(OUTPRE)*.exe 118 if exist $(OUTPRE)*.obj del $(OUTPRE)*.obj 119 if exist $(OUTPRE)*.res del $(OUTPRE)*.res 120 if exist $(OUTPRE)*.map del $(OUTPRE)*.map 121 if exist $(OUTPRE)*.pdb del $(OUTPRE)*.pdb 122 if exist *.err del *.err 123 if exist $(SRCTMP) rmdir /s /q $(SRCTMP) 124