windows-digital-sigs-and-more-20041130
[openafs.git] / src / WINNT / afsd / NTMakefile
index da8bc97..9af81d5 100644 (file)
@@ -5,7 +5,9 @@
 # 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"  -I..\kfw\inc\loadfuncs -I..\kfw\inc\krb5 -I..\kfw\inc\leash
 AFSDEV_NETGUI = 1
+RELDIR=WINNT\afsd
 !INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
 !INCLUDE ..\..\config\NTMakefile.version
 
@@ -16,6 +18,8 @@ EXEDIR = $(DESTDIR)\root.client\usr\vice\etc
 
 INCFILEDIR = $(DESTDIR)\include\afs  # header file install directory
 
+# afsdicon and below added for WINNT\extra support
+
 INCFILES =\
        $(INCFILEDIR)\afsd.h \
        $(INCFILEDIR)\cm.h \
@@ -27,6 +31,7 @@ INCFILES =\
        $(INCFILEDIR)\cm_scache.h \
        $(INCFILEDIR)\cm_server.h \
        $(INCFILEDIR)\cm_user.h \
+       $(INCFILEDIR)\cm_dns.h \
        $(INCFILEDIR)\cm_utils.h \
        $(INCFILEDIR)\fs_utils.h \
        $(INCFILEDIR)\krb.h \
@@ -38,50 +43,100 @@ INCFILES =\
        $(INCFILEDIR)\smb_ioctl.h \
        $(INCFILEDIR)\afsmsg95.h \
        $(INCFILEDIR)\afsrpc.h \
-       $(INCFILEDIR)\cm_dns.h \
-       $(INCFILEDIR)\cm_dns_private.h
+!IFDEF OSICRASH
+       $(INCFILEDIR)\afsdcrash.h \
+!ENDIF
+       $(INCFILEDIR)\cm_dns_private.h \
+       $(INCFILEDIR)\lanahelper.h \
+       $(INCFILEDIR)\afsdicon.h \
+       $(INCFILEDIR)\cm_callback.h \
+       $(INCFILEDIR)\cm_aclent.h \
+       $(INCFILEDIR)\cm_volume.h \
+       $(INCFILEDIR)\cm_dcache.h \
+       $(INCFILEDIR)\cm_access.h \
+       $(INCFILEDIR)\cm_vnodeops.h \
+       $(INCFILEDIR)\cm_dir.h \
+       $(INCFILEDIR)\cm_utils.h \
+       $(INCFILEDIR)\cm_daemon.h \
+       $(INCFILEDIR)\cm_ioctl.h \
+       $(INCFILEDIR)\cm_dnlc.h \
+       $(INCFILEDIR)\cm_buf.h \
+       $(INCFILEDIR)\cm_freelance.h \
+    $(INCFILEDIR)\afsd_eventlog.h \
+    $(INCFILEDIR)\afsd_eventmessages.h \
+    $(INCFILEDIR)\afskfw.h \
+    $(INCFILEDIR)\afsicf.h
 
 IDLFILES =\
-       afsrpc.h afsrpc_c.obj
+       afsrpc.h $(OUT)\afsrpc_c.obj
+
+CONFOBJS=$(OUT)\cm_config.obj \
+         $(OUT)\cm_dns.obj
+
+$(CONFOBJS):
+
+RXOBJS = $(OUT)\xdr_int32.obj $(OUT)\xdr_int64.obj
 
-CONFOBJS=cm_config.obj \
-         cm_dns.obj
+$(RXOBJS):
+
+RX= ..\..\rx
+
+$(RXOBJS): $(RX)\$$(@B).c
+       $(C2OBJ) -I$(RX) $**
+
+$(IDLFILES):afsrpc.idl
+       midl $(MIDL_FLAGS) /no_robust $(AFSDEV_AUXMIDLFLAGS) /app_config $?
 
 AFSDOBJS=\
-       afsd_init.obj \
-       cm_cell.obj \
-       cm_server.obj \
-       cm_volume.obj \
-       cm_conn.obj \
-       cm_user.obj \
-       cm_buf.obj \
-       cm_scache.obj \
-       cm_dcache.obj \
-       cm_access.obj \
-       cm_callback.obj \
-       cm_vnodeops.obj \
-       cm_dir.obj \
-       cm_utils.obj \
-       smb.obj \
-       smb3.obj \
-       smb_ioctl.obj \
-       cm_ioctl.obj \
-       cm_daemon.obj \
-       cm_aclent.obj \
-       cm_dnlc.obj \
-       cm_rpc.obj \
-       afsrpc_s.obj \
-     cm_freelance.obj
-
-cm_conn.obj: cm_conn.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
-
-FSOBJS=fs.obj fs_utils.obj
-
-SLOBJS=symlink.obj fs_utils.obj
+       $(OUT)\afsd_init.obj \
+       $(OUT)\cm_cell.obj \
+       $(OUT)\cm_server.obj \
+       $(OUT)\cm_volume.obj \
+       $(OUT)\cm_conn.obj \
+       $(OUT)\cm_user.obj \
+       $(OUT)\cm_buf.obj \
+       $(OUT)\cm_scache.obj \
+       $(OUT)\cm_dcache.obj \
+       $(OUT)\cm_access.obj \
+       $(OUT)\cm_callback.obj \
+       $(OUT)\cm_vnodeops.obj \
+       $(OUT)\cm_dir.obj \
+       $(OUT)\cm_utils.obj \
+       $(OUT)\largeintdotnet.obj \
+       $(OUT)\smb.obj \
+       $(OUT)\smb3.obj \
+       $(OUT)\smb_ioctl.obj \
+       $(OUT)\cm_ioctl.obj \
+       $(OUT)\cm_daemon.obj \
+       $(OUT)\cm_aclent.obj \
+       $(OUT)\cm_dnlc.obj \
+       $(OUT)\cm_rpc.obj \
+       $(OUT)\afsrpc_s.obj \
+!IFDEF OSICRASH
+       $(OUT)\afsdcrash.obj \
+!ENDIF
+    $(OUT)\cm_freelance.obj \
+    $(OUT)\afsd_eventlog.obj \
+    $(OUT)\afsd_flushvol.obj \
+    $(OUT)\afsicf.obj
+
+$(AFSDOBJS):
+
+$(OUT)\cm_conn.obj: cm_conn.c
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
+
+FSOBJS=$(OUT)\fs.obj $(OUT)\fs_utils.obj
+
+SLOBJS=$(OUT)\symlink.obj $(OUT)\fs_utils.obj
 
 ILIBDIR = $(DESTDIR)\lib
 
+#                                                    
+# Rules for message compiler info for logging events 
+#                                                    
+$(INCFILEDIR)\afsd_eventmessages.h:  afsd_eventmessages.mc         
+       mc afsd_eventmessages.mc                           
+                                                     
 ############################################################################
 #
 # Flags for linking LOGON DLL'S
@@ -89,6 +144,7 @@ ILIBDIR = $(DESTDIR)\lib
 
 LOGONLINKFLAGS = -entry:DllEntryPoint
 
+
 ############################################################################
 #
 # IDL COMPILATION
@@ -98,40 +154,87 @@ MIDL_FLAGS=/app_config \
           /Zp4 \
           /cpp_cmd $(cc) \
           /cpp_opt "-E" \
+          /no_robust \
            /nologo
 
 .SUFFIXES: .h .idl
 
 .idl.h:
-       midl $(MIDL_FLAGS) $<
+       midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) $<
 
 ############################################################################
 # libafsconf.dll
 
 CONF_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\libafsconf.dll
 
+CONF_DLLLIBS = \
+    $(DESTDIR)\lib\afs\afsutil.lib \
+    $(DESTDIR)\lib\afs\afsreg.lib
 
-$(CONF_DLLFILE): $(CONFOBJS) libafsconf.res
-       $(DLLGUILINK) -def:libafsconf.def
+$(CONF_DLLFILE): $(CONFOBJS) $(OUT)\libafsconf.res $(CONF_DLLLIBS)
+       $(DLLGUILINK) -def:libafsconf.def dnsapi.lib mpr.lib
        $(DLLPREP)
        $(COPY) $*.lib $(ILIBDIR)
        $(DEL) $*.lib $*.exp
 
 ############################################################################
+# lanahelper.lib
+
+LANAHELPERLIB = $(DESTDIR)\lib\lanahelper.lib
+
+LANAHELPERLIB_OBJS =\
+      $(OUT)\lanahelper.obj
+
+$(LANAHELPERLIB_OBJS):
+
+$(LANAHELPERLIB): $(LANAHELPERLIB_OBJS)
+      $(LIBARCH) netapi32.lib
+
+############################################################################
+# afskfw.lib
+
+AFSKFWLIB = $(DESTDIR)\lib\afskfw.lib
+
+AFSKFWLIB_OBJS =\
+      $(OUT)\afskfw.obj
+
+$(AFSKFWLIB_OBJS):
+
+$(AFSKFWLIB): $(AFSKFWLIB_OBJS)
+      $(LIBARCH)
+
+############################################################################
 # afslogon.dll
 
 LOGON_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslogon.dll
 
 LOGON_DLLOBJS =\
-       afslogon.obj \
-       afslogon.res
+       $(OUT)\afslogon.obj \
+    $(OUT)\logon_ad.obj \
+       $(OUT)\afslogon.res
 
 LOGON_DLLLIBS =\
        $(DESTDIR)\lib\afsauthent.lib \
-       $(DESTDIR)\lib\libafsconf.lib
+       $(DESTDIR)\lib\libafsconf.lib \
+    $(DESTDIR)\lib\afsrxkad.lib \
+    $(DESTDIR)\lib\afsdes.lib \
+    $(AFSKFWLIB)
 
-$(LOGON_DLLFILE): $(LOGON_DLLOBJS)
-       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLLIBS)
+LOGON_DLLSDKLIBS =\
+        dnsapi.lib \
+        netapi32.lib \
+        mpr.lib \
+       advapi32.lib \
+       secur32.lib \
+       strsafe.lib \
+       oleaut32.lib \
+       ole32.lib \
+       adsiid.lib \
+       activeds.lib \
+    userenv.lib
+
+$(LOGON_DLLFILE): $(LOGON_DLLOBJS) $(LOGON_DLLLIBS)
+       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLSDKLIBS)
        $(DLLPREP)
        $(COPY) $*.lib $(DESTDIR)\lib
        $(DEL) $*.lib $*.exp
@@ -142,15 +245,15 @@ $(LOGON_DLLFILE): $(LOGON_DLLOBJS)
 LOG95_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslog95.dll
 
 LOG95_DLLOBJS =\
-       afslog95.obj \
-       afslog95.res
+       $(OUT)\afslog95.obj \
+       $(OUT)\afslog95.res
 
 LOG95_DLLLIBS =\
        $(DESTDIR)\lib\afsauthent.lib \
        $(DESTDIR)\lib\libafsconf.lib
 
-$(LOG95_DLLFILE): $(LOG95_DLLOBJS)
-       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslog95.def $(LOG95_DLLLIBS)
+$(LOG95_DLLFILE): $(LOG95_DLLOBJS) $(LOG95_DLLLIBS)
+       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslog95.def dnsapi.lib mpr.lib
        $(DLLPREP)
        $(COPY) $*.lib $(DESTDIR)\lib
        $(DEL) $*.lib $*.exp
@@ -158,13 +261,14 @@ $(LOG95_DLLFILE): $(LOG95_DLLOBJS)
 ############################################################################
 # Install target; primary makefile target
 
-install_objs: cm_dns.obj cm_config.obj
-     $(COPY) cm_dns.obj $(DESTDIR)\lib
-     $(COPY) cm_config.obj $(DESTDIR)\lib
+install_objs: $(OUT)\cm_dns.obj $(OUT)\cm_config.obj $(LANAHELPERLIB) $(OUT)\afsicf.obj
+     $(COPY) $(OUT)\cm_dns.obj $(DESTDIR)\lib
+     $(COPY) $(OUT)\cm_config.obj $(DESTDIR)\lib
+     $(COPY) $(OUT)\afsicf.obj $(DESTDIR)\lib
 
 install_headers: $(IDLFILES) $(INCFILES)
 
-install: install_headers $(CONF_DLLFILE) \
+install: install_headers install_objs $(CONF_DLLFILE) \
        $(EXEDIR)\klog.exe \
        $(EXEDIR)\tokens.exe \
        $(EXEDIR)\unlog.exe $(EXEDIR)\afsd.exe $(EXEDIR)\afsd_service.exe \
@@ -214,60 +318,73 @@ EXELIBS = \
        $(DESTDIR)\lib\libosi.lib \
        $(DESTDIR)\lib\libafsconf.lib
 
-
 # klog.exe
-$(EXEDIR)\klog.exe: cklog.obj klog.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib
        $(EXEPREP)
 
 # tokens.exe
-$(EXEDIR)\tokens.exe: ctokens.obj tokens.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib
        $(EXEPREP)
 
 # unlog.exe
-$(EXEDIR)\unlog.exe: cunlog.obj unlog.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib
        $(EXEPREP)
 
 # afsd.exe
 AFSD_EXEFILE = $(EXEDIR)\afsd.exe
 
-AFSD_EXELIBS =\
-       largeint.lib \
+AFSD_SDKLIBS =\
+#      largeint.lib \
        netapi32.lib \
+        dnsapi.lib \
+        mpr.lib \
+       rpcrt4.lib \
+       user32.lib \
+        Dbghelp.lib \
+        strsafe.lib \
         mpr.lib \
+        secur32.lib \
+        ole32.lib \
+        oleaut32.lib \
+        psapi.lib \
+        wintrust.lib \
+        crypt32.lib
+
+AFSD_EXELIBS =\
        $(DESTDIR)\lib\libosi.lib \
        $(DESTDIR)\lib\afsrpc.lib \
+        $(DESTDIR)\lib\afsrx.lib \
        $(DESTDIR)\lib\afsauthent.lib \
        $(DESTDIR)\lib\afs\mtafsvldb.lib \
        $(DESTDIR)\lib\afs\mtafsint.lib \
        $(DESTDIR)\lib\libafsconf.lib \
        $(DESTDIR)\lib\afs\afsreg.lib \
-       rpcrt4.lib \
-       user32.lib
+        $(LANAHELPERLIB)
 
-$(AFSD_EXEFILE): afsd.obj $(AFSDOBJS) afsd.res
-       $(EXEGUILINK) $(AFSD_EXELIBS)
+$(AFSD_EXEFILE): $(OUT)\afsd.obj $(AFSDOBJS) $(OUT)\afsd.res  $(RXOBJS) $(AFSD_EXELIBS)
+       $(EXEGUILINK) $(AFSD_SDKLIBS)
        $(EXEPREP)
 
 # afsd_service.exe
-$(EXEDIR)\afsd_service.exe: afsd_service.obj $(AFSDOBJS) afsd_service.res
-       $(EXECONLINK) $(AFSD_EXELIBS)
+$(EXEDIR)\afsd_service.exe: $(OUT)\afsd_service.obj $(AFSDOBJS) $(OUT)\afsd_service.res  $(RXOBJS) $(AFSD_EXELIBS)
+       $(EXECONLINK) $(AFSD_SDKLIBS) /MAP 
        $(EXEPREP)
 
 # fs.exe
-$(EXEDIR)\fs.exe: $(FSOBJS) fs.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib
        $(EXEPREP)
 
 # symlink.exe
-$(EXEDIR)\symlink.exe: $(SLOBJS) symlink.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res  $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib
        $(EXEPREP)
 
 # afsshare.exe
-$(EXEDIR)\afsshare.exe: afsshare.obj afsshare.res
+$(EXEDIR)\afsshare.exe: $(OUT)\afsshare.obj $(OUT)\afsshare.res
        $(EXECONLINK)
        $(EXEPREP)
 
@@ -281,26 +398,30 @@ $(EXEDIR)\afsshare.exe: afsshare.obj afsshare.res
 KAUTH = ..\..\kauth
 
 KPASSWD_OBJS =\
-       kpasswd.obj \
-       kkids.obj \
-       kautils.obj \
-       $(KAUTH)\kpasswd.res
+       $(OUT)\kpasswd.obj \
+       $(OUT)\kkids.obj \
+       $(OUT)\kautils.obj \
+       $(OUT)\$(KAUTH)\kpasswd.res
 
 KPASSWD_LIBS =\
        $(DESTDIR)\lib\afsauthent.lib \
        $(DESTDIR)\lib\afsrpc.lib \
+    $(DESTDIR)\lib\afsrx.lib \
        $(DESTDIR)\lib\afs\afscmd.lib \
        $(DESTDIR)\lib\afsdes.lib \
        $(DESTDIR)\lib\afs\afsutil.lib
 
-kpasswd.obj: $(KAUTH)/kpasswd.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
+$(OUT)\kpasswd.obj: $(KAUTH)/kpasswd.c
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
+
+$(OUT)\kkids.obj: $(KAUTH)/kkids.c
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
 
-kkids.obj: $(KAUTH)/kkids.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
+$(OUT)\kautils.obj: $(KAUTH)/kautils.c
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
 
-kautils.obj: $(KAUTH)/kautils.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
+$(OUT)\kpasswd.res: $(KAUTH)\kpasswd.rc
+    $(RC) /Fo$@ $**
 
 $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
        $(DEL) $(DESTDIR)\bin\kpasswd.exe
@@ -311,28 +432,36 @@ $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
 ############################################################################
 # generate versioninfo resources
 
-afsshare.res: afsshare.rc AFS_component_version_number.h
+$(OUT)\afsshare.res: afsshare.rc AFS_component_version_number.h
+
+$(OUT)\fs.res: fs.rc AFS_component_version_number.h
 
-fs.res: fs.rc AFS_component_version_number.h
+$(OUT)\symlink.res: symlink.rc AFS_component_version_number.h
 
-symlink.res: symlink.rc AFS_component_version_number.h
+$(OUT)\klog.res: klog.rc AFS_component_version_number.h
 
-klog.res: klog.rc AFS_component_version_number.h
+$(OUT)\tokens.res: tokens.rc AFS_component_version_number.h
 
-tokens.res: tokens.rc AFS_component_version_number.h
+$(OUT)\unlog.res: unlog.rc AFS_component_version_number.h
 
-unlog.res: unlog.rc AFS_component_version_number.h
+afsd_eventmessages.rc: afsd_eventmessages.h
 
-afsd_service.res: afsd_service.rc AFS_component_version_number.h
+$(OUT)\afsd_service.res: afsd_service.rc afsd_eventmessages.rc AFS_component_version_number.h
 
-afslogon.res: afslogon.rc AFS_component_version_number.h
+$(OUT)\afslogon.res: afslogon.rc AFS_component_version_number.h
 
-afslog95.res: afslog95.rc AFS_component_version_number.h
+$(OUT)\afslog95.res: afslog95.rc AFS_component_version_number.h
 
-libafsconf.res: libafsconf.rc AFS_component_version_number.h
+$(OUT)\libafsconf.res: libafsconf.rc AFS_component_version_number.h
 
+############################################################################
 clean::
-       $(DEL) *.res
+       $(DEL) $(OUT)\*.res
        $(DEL) afsrpc.h
        $(DEL) afsrpc_?.*
-       $(DEL) $(EXELIBS)
+    $(DEL) afsd_eventmessages.h
+       $(DEL) $(CONF_DLLFILE)
+       $(DEL) $(LOGON_DLLFILE)
+       $(DEL) $(LOG95_DLLFILE)
+
+mkdir: