Windows: Build against KerbCompatSDK instead of KFW
[openafs.git] / src / WINNT / afsd / NTMakefile
index 525fcbb..6d6646c 100644 (file)
@@ -5,9 +5,10 @@
 # License.  For details, see the LICENSE file in the top-level source
 # directory or online at http://www.openafs.org/dl/license10.html
 
-AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) /D"_AFXDLL" /DSMB_UNICODE -I..\kfw\inc\loadfuncs \
-        -I..\kfw\inc\krb5 -I..\kfw\inc\leash -I$(DESTDIR)\include\afs \
-        -I$(DESTDIR)\include\rx -I..\afsrdr\common -I..\afsrdr\user
+AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) /D"_AFXDLL" /DSMB_UNICODE \
+       -I$(DESTDIR)\include\afs -I$(DESTDIR)\include\rx \
+        -I..\afsrdr\common -I..\afsrdr\user -I$(HEIMINC)
+
 AFSDEV_NETGUI = 1
 RELDIR=WINNT\afsd
 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
@@ -73,7 +74,12 @@ INCFILES =\
         $(INCFILEDIR)\afsd_eventlog.h \
         $(INCFILEDIR)\afsd_eventmessages.h \
         $(INCFILEDIR)\afskfw.h \
-        $(INCFILEDIR)\afsicf.h
+        $(INCFILEDIR)\afsicf.h \
+#      $(INCFILEDIR)\krbcompat_delayload.h
+
+
+$(INCFILEDIR)\krbcompat_delayload.h: $(HEIMINC)\krbcompat_delayload.h
+        $(COPY) $< $@
 
 IDLFILES =\
        afsrpc.h $(OUT)\afsrpc_c.obj
@@ -246,6 +252,14 @@ AFSD_SDKLIBS =\
         shlwapi.lib
 
 ############################################################################
+# krbcompat_delayload.obj
+
+KCOMPAT_OBJ = $(DESTDIR)\lib\krbcompat_delayload.obj
+
+$(KCOMPAT_OBJ): $(OUT)\krbcompat_delayload.obj
+       copy /y $** $@
+
+############################################################################
 # libafsconf.dll
 
 CONF_DLLFILE = $(DESTDIR)\lib\libafsconf.dll
@@ -308,7 +322,8 @@ LOGON_DLLOBJS =\
     $(OUT)\afslogon.obj \
     $(OUT)\logon_ad.obj \
     $(OUT)\afslogon.res \
-    $(OUT)\cm_nls.obj
+    $(OUT)\cm_nls.obj  \
+    $(KRBCOMPATRES)
 
 LOGON_DLLLIBS =\
     $(DESTDIR)\lib\afsauthent.lib \
@@ -331,13 +346,14 @@ LOGON_DLLSDKLIBS =\
        ole32.lib \
        adsiid.lib \
        activeds.lib \
+        rpcrt4.lib \
        user32.lib \
         userenv.lib \
         shell32.lib \
-        rpcrt4.lib
+       delayimp.lib
 
-$(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
-       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS)
+$(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS) $(HEIMDEPS)
+       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS) $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_DLL)
        $(DLLPREP)
         $(CODESIGN_USERLAND)
@@ -348,8 +364,9 @@ $(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
 ############################################################################
 # Install target; primary makefile target
 
-install_objs: $(CONF_DLLFILE) $(LANAHELPERLIB) $(OUT)\afsicf.obj
+install_objs: $(CONF_DLLFILE) $(LANAHELPERLIB) $(OUT)\afsicf.obj $(OUT)\krbcompat_delayload.obj
      $(COPY) $(OUT)\afsicf.obj $(DESTDIR)\lib
+     $(COPY) $(OUT)\krbcompat_delayload.obj $(DESTDIR)\lib
 
 install_headers: $(IDLFILES) $(INCFILES) ms-wkssvc.h ms-srvsvc.h
 
@@ -427,32 +444,32 @@ EXELIBS3 = \
        $(DESTDIR)\lib\afsroken.lib
 
 # klog.exe
-$(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res $(EXELIBS)
-       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
+$(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res $(DESTDIR)\lib\krbcompat_delayload.obj $(EXELIBS) $(HEIMDEPS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
         $(CODESIGN_USERLAND)
         $(SYMSTORE_IMPORT)
 
 # tokens.exe
-$(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res $(EXELIBS)
-       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
+$(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res $(DESTDIR)\lib\krbcompat_delayload.obj $(EXELIBS) $(HEIMDEPS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
         $(CODESIGN_USERLAND)
         $(SYMSTORE_IMPORT)
 
 # unlog.exe
-$(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res $(EXELIBS)
-       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
+$(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res $(DESTDIR)\lib\krbcompat_delayload.obj $(EXELIBS) $(HEIMDEPS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
         $(CODESIGN_USERLAND)
         $(SYMSTORE_IMPORT)
 
 # afscpcc.exe
-$(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(LOGON_DLLLIBS)
-       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib userenv.lib
+$(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(DESTDIR)\lib\krbcompat_delayload.obj $(LOGON_DLLLIBS) $(HEIMDEPS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib userenv.lib $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
         $(CODESIGN_USERLAND)
@@ -493,8 +510,8 @@ $(EXEDIR)\afsd_service.exe: $(OUT)\afsd_service.obj $(AFSDOBJS) $(OUT)\afsd_serv
         $(SYMSTORE_IMPORT)
 
 # fs.exe
-$(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res $(EXELIBS)
-       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
+$(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res $(EXELIBS) $(HEIMDEPS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
         $(CODESIGN_USERLAND)
@@ -534,8 +551,8 @@ $(EXEDIR)\afsio.exe: $(AFSIOOBJS) $(OUT)\afsio.res $(RXOBJS) $(AFSD_EXELIBS) $(E
         $(SYMSTORE_IMPORT)
 
 # symlink.exe
-$(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res  $(EXELIBS)
-       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib
+$(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res  $(EXELIBS) $(HEIMDEPS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib shell32.lib $(HEIMLINKOPTS)
         $(_VC_MANIFEST_EMBED_EXE)
        $(EXEPREP)
         $(CODESIGN_USERLAND)
@@ -601,6 +618,11 @@ $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
         $(CODESIGN_USERLAND)
         $(SYMSTORE_IMPORT)
 
+{$(HEIMDALSDKDIR)\src\}.c{$(OUT)}.obj:
+       $(C2OBJ) /Fo$@ $**
+
+{$(HEIMDALSDKDIR)\inc\}.h{$(INCFILEDIR)}.h:
+       copy /y $< $@
 
 ############################################################################
 # generate versioninfo resources