Makefile.in   [plain text]


# makefile: Constructs the Kerberos for Windows CCAPI DLL.
#
OBJS	= $(OUTPRE)ccapi_ccache.obj \
          $(OUTPRE)ccapi_ccache_iterator.obj \
          $(OUTPRE)ccapi_context.obj \
          $(OUTPRE)ccapi_context_change_time.obj \
          $(OUTPRE)ccapi_credentials.obj \
          $(OUTPRE)ccapi_credentials_iterator.obj \
          $(OUTPRE)ccapi_ipc.obj \
          $(OUTPRE)ccapi_os_ipc.obj \
          $(OUTPRE)ccapi_string.obj \
          $(OUTPRE)ccapi_v2.obj \
          $(OUTPRE)cci_array_internal.obj \
          $(OUTPRE)cci_cred_union.obj \
          $(OUTPRE)cci_debugging.obj \
          $(OUTPRE)cci_identifier.obj \
          $(OUTPRE)cci_message.obj \
          $(OUTPRE)cci_os_debugging.obj \
          $(OUTPRE)cci_os_identifier.obj \
          $(OUTPRE)cci_stream.obj \
          $(OUTPRE)ccs_reply_proc.obj \
          $(OUTPRE)ccs_reply_s.obj \
          $(OUTPRE)ccs_request_c.obj \
          $(OUTPRE)ccutils.obj \
          $(OUTPRE)client.obj \
          $(OUTPRE)dllmain.obj \
          $(OUTPRE)init.obj \
          $(OUTPRE)rpc.obj \
          $(OUTPRE)secure.obj \
          $(OUTPRE)tls.obj \
          $(OUTPRE)util.obj \
          $(OUTPRE)win-utils.obj

##### Options
# Set NODEBUG if building release instead of debug

#BUILDTOP is krb5/src and is relative to krb5/src/ccapi/lib/win, for making Makefile.
BUILDTOP=..\..\..\      
CCAPI   = $(BUILDTOP)\CCAPI
CO      = $(CCAPI)\common
COWIN   = $(CCAPI)\common\win
CCUTIL  = $(CCAPI)\common\win\OldCC             
LIBDIR  = $(CCAPI)\lib
LIBWIN  = $(LIBDIR)\win
POSIX   = $(BUILDTOP)\lib\krb5\posix
OLDCC   = $(LIBWIN)\OldCC
SRCTMP  = $(LIBWIN)\srctmp

!if defined(KRB5_KFW_COMPILE)
KFWINC= /I$(BUILDTOP)\..\..\krbcc\include
!endif

# Because all the sources are pulled together into the temp directory SRCTMP,
#  the only includes we need are to directories outside of ccapi.
LOCALINCLUDES = /I..\$(BUILDTOP) /I..\$(BUILDTOP)\include /I..\$(BUILDTOP)\include\krb5 $(KFWINC) \
    -I..\$(BUILDTOP)\util\et 
MIDLINCLUDES  = /I..\$(BUILDTOP)\include

CPPFLAGS = $(CPPFLAGS) /EHsc -D_CRTAPI1=_cdecl -D_CRTAPI2=_cdecl -DWINVER=0x0501 \
-D_WIN32_WINNT=0x0501 -D_CRT_SECURE_NO_WARNINGS $(cvarsdll)


##### Linker
LINK	= link
LIBS	= kernel32.lib ws2_32.lib user32.lib advapi32.lib
LFLAGS	= /nologo $(LOPTS)

all:: Makefile copysrc midl $(OUTPRE)ccapi.dll finish

ccs_request.h ccs_request_c.c ccs_request_s.c : ccs_request.idl ccs_request.acf
    midl $(MIDL_OPTIMIZATION) $(MIDLI) -oldnames -cpp_cmd $(CC) -cpp_opt "-E" \
    ccs_request.idl

ccs_reply.h   ccs_reply_c.c   ccs_reply_s.c   : ccs_reply.idl   ccs_reply.acf
    midl $(MIDL_OPTIMIZATION) $(MIDLI) -oldnames -cpp_cmd $(CC) -cpp_opt "-E" \
    ccs_reply.idl

copysrc :
    echo "Copying all sources needed to build ccapi.dll to $(SRCTMP)"
    if NOT exist $(SRCTMP)\nul mkdir $(SRCTMP)
    xcopy /D/Y   $(CO)\*.*     $(SRCTMP)
    xcopy /D/Y   $(COWIN)\*.*  $(SRCTMP)
    xcopy /D/Y   $(CCUTIL)\*.* $(SRCTMP)
    xcopy /D/Y   $(LIBDIR)\*.* $(SRCTMP)
    xcopy /D/Y   $(LIBWIN)\*.* $(SRCTMP)
    xcopy /D/Y   $(OLDCC)\*.*  $(SRCTMP)
    cd $(SRCTMP)
    if NOT exist $(OUTPRE)\nul mkdir $(OUTPRE)

midl : ccs_request.h ccs_reply.h

# Main program:
$(OUTPRE)ccapi.dll: $(OBJS) ccapi.def
	$(LINK) $(LFLAGS) -entry:_DllMainCRTStartup@12 -dll /map:$*.map /out:$@ /DEF:ccapi.def $(OBJS) \
	    /implib:ccapi.lib $(dllflags) $(LIBS) $(KFWLIB) $(SCLIB) rpcrt4.lib $(conlibsdll) $(conflags) 

ccapi.def: 
    echo ;ccapi.def is generated by a Makefile rule. > ccapi.def
    echo HEAPSIZE	8192  >> ccapi.def
    echo EXPORTS          >> ccapi.def
    type ccapi.exports    >> ccapi.def
    type ccapi_v2.exports >> ccapi.def
    type debug.exports    >> ccapi.def

finish:
    echo "Finished in ccapi/lib/win."
    cd ..

install::
    echo "Doing nothing for make install"

clean:: 
	if exist $(OUTPRE)*.exe del $(OUTPRE)*.exe
	if exist $(OUTPRE)*.obj del $(OUTPRE)*.obj
	if exist $(OUTPRE)*.res del $(OUTPRE)*.res
	if exist $(OUTPRE)*.map del $(OUTPRE)*.map
	if exist $(OUTPRE)*.pdb del $(OUTPRE)*.pdb
	if exist *.err del *.err
    if exist $(SRCTMP) rm -rf $(SRCTMP)