afsifs-20050615
[openafs.git] / src / WINNT / afsd / NTMakefile
index 9ac219f..a4b9683 100644 (file)
@@ -5,6 +5,7 @@
 # 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)
@@ -17,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 \
@@ -43,10 +46,30 @@ INCFILES =\
 !IFDEF OSICRASH
        $(INCFILEDIR)\afsdcrash.h \
 !ENDIF
-       $(INCFILEDIR)\cm_dns_private.h
+       $(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)\cm_memmap.h \
+        $(INCFILEDIR)\afsd_eventlog.h \
+        $(INCFILEDIR)\afsd_eventmessages.h \
+        $(INCFILEDIR)\afskfw.h \
+        $(INCFILEDIR)\afsicf.h
 
 IDLFILES =\
-       afsrpc.h $(OUT)\afsrpc_c.c
+       afsrpc.h $(OUT)\afsrpc_c.obj
 
 CONFOBJS=$(OUT)\cm_config.obj \
          $(OUT)\cm_dns.obj
@@ -65,8 +88,15 @@ $(RXOBJS): $(RX)\$$(@B).c
 $(IDLFILES):afsrpc.idl
        midl $(MIDL_FLAGS) /no_robust $(AFSDEV_AUXMIDLFLAGS) /app_config $?
 
+RPCOBJS = $(OUT)\ifs_rpc.obj
+
+$(RPCOBJS):..\afsrdr\ifs_rpc.c
+       $(C2OBJ) ..\afsrdr\ifs_rpc.c
 
 AFSDOBJS=\
+        $(OUT)\ifs_rpc.obj \
+        $(OUT)\rawops.obj \
+        $(OUT)\afsdifs.obj \
        $(OUT)\afsd_init.obj \
        $(OUT)\cm_cell.obj \
        $(OUT)\cm_server.obj \
@@ -90,27 +120,41 @@ AFSDOBJS=\
        $(OUT)\cm_aclent.obj \
        $(OUT)\cm_dnlc.obj \
        $(OUT)\cm_rpc.obj \
+        $(OUT)\cm_memmap.obj \
        $(OUT)\afsrpc_s.obj \
 !IFDEF OSICRASH
        $(OUT)\afsdcrash.obj \
 !ENDIF
-     $(OUT)\cm_freelance.obj
+        $(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 $**
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
 
 FSOBJS=$(OUT)\fs.obj $(OUT)\fs_utils.obj
 
+CMDBGOBJS=$(OUT)\cmdebug.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
 #
 
-LOGONLINKFLAGS = -entry:DllEntryPoint /NODEFAULTLIB:msvcr70d.lib /NODEFAULTLIB:msvcrtd.lib  msvcrt.lib
+LOGONLINKFLAGS = -entry:DllEntryPoint
 
 
 ############################################################################
@@ -139,27 +183,71 @@ CONF_DLLLIBS = \
     $(DESTDIR)\lib\afs\afsutil.lib \
     $(DESTDIR)\lib\afs\afsreg.lib
 
-$(CONF_DLLFILE): $(CONFOBJS) $(OUT)\libafsconf.res
-       $(DLLGUILINK) -def:libafsconf.def $(CONF_DLLLIBS)
+$(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 =\
-       $(OUT)\afslogon.obj \
-       $(OUT)\afslogon.res
+    $(OUT)\afslogon.obj \
+    $(OUT)\logon_ad.obj \
+    $(OUT)\afslogon.res
 
 LOGON_DLLLIBS =\
-       $(DESTDIR)\lib\afsauthent.lib \
-       $(DESTDIR)\lib\libafsconf.lib
-
-$(LOGON_DLLFILE): $(LOGON_DLLOBJS)
-       $(DLLGUILINK) $(LOGONLINKFLAGS) -def:afslogon.def $(LOGON_DLLLIBS)
+    $(DESTDIR)\lib\afsauthent.lib \
+    $(DESTDIR)\lib\libafsconf.lib \
+    $(DESTDIR)\lib\afsrxkad.lib \
+    $(DESTDIR)\lib\afsdes.lib \
+    $(LANAHELPERLIB) \
+    $(AFSKFWLIB)
+
+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
@@ -177,8 +265,8 @@ 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
@@ -186,9 +274,10 @@ $(LOG95_DLLFILE): $(LOG95_DLLOBJS)
 ############################################################################
 # Install target; primary makefile target
 
-install_objs: $(OUT)\cm_dns.obj $(OUT)\cm_config.obj
+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)
 
@@ -196,10 +285,12 @@ install: install_headers install_objs $(CONF_DLLFILE) \
        $(EXEDIR)\klog.exe \
        $(EXEDIR)\tokens.exe \
        $(EXEDIR)\unlog.exe $(EXEDIR)\afsd.exe $(EXEDIR)\afsd_service.exe \
-       $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
+       $(EXEDIR)\fs.exe \
+        $(EXEDIR)\symlink.exe \
+        $(EXEDIR)\afsdacl.exe \
        $(LOGON_DLLFILE) \
        $(EXEDIR)\afsshare.exe \
-       $(DESTDIR)\bin\kpasswd.exe
+       $(DESTDIR)\bin\kpasswd.exe $(EXEDIR)\cmdebug.exe $(EXEDIR)\afscpcc.exe
 
 install9X: install_headers $(CONF_DLLFILE) \
        $(EXEDIR)\klog.exe \
@@ -216,7 +307,7 @@ install_libutils: install_headers $(CONF_DLLFILE) \
        $(EXEDIR)\unlog.exe \
        $(EXEDIR)\fs.exe $(EXEDIR)\symlink.exe \
        $(EXEDIR)\afsshare.exe \
-       $(DESTDIR)\bin\kpasswd.exe
+       $(DESTDIR)\bin\kpasswd.exe $(EXEDIR)\cmdebug.exe
 
 ############################################################################
 # Local clean target; augments predefined clean target
@@ -242,57 +333,91 @@ EXELIBS = \
        $(DESTDIR)\lib\libosi.lib \
        $(DESTDIR)\lib\libafsconf.lib
 
+EXELIBS2 = \
+        $(DESTDIR)\lib\afsrpc.lib \
+       $(DESTDIR)\lib\afs\afsprot.lib \
+       $(DESTDIR)\lib\afs\afspioctl.lib \
+       $(DESTDIR)\lib\afs\afscom_err.lib \
+       $(DESTDIR)\lib\afs\afscmd.lib \
+       $(DESTDIR)\lib\afs\afsutil.lib \
+       $(DESTDIR)\lib\afsubik.lib \
+       $(DESTDIR)\lib\afsrxkad.lib \
+       $(DESTDIR)\lib\afsdes.lib \
+       $(DESTDIR)\lib\afslwp.lib \
+       $(DESTDIR)\lib\libosi.lib \
+       $(DESTDIR)\lib\libafsconf.lib
+
 # klog.exe
-$(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\klog.exe: $(OUT)\cklog.obj $(OUT)\klog.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
        $(EXEPREP)
 
 # tokens.exe
-$(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\tokens.exe: $(OUT)\ctokens.obj $(OUT)\tokens.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
        $(EXEPREP)
 
 # unlog.exe
-$(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\unlog.exe: $(OUT)\cunlog.obj $(OUT)\unlog.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
+       $(EXEPREP)
+
+# afscpcc.exe
+$(EXEDIR)\afscpcc.exe: $(OUT)\afscpcc.obj $(OUT)\afscpcc.res $(LOGON_DLLLIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
        $(EXEPREP)
 
+
 # afsd.exe
 AFSD_EXEFILE = $(EXEDIR)\afsd.exe
 
-AFSD_EXELIBS =\
-       largeint.lib \
+AFSD_SDKLIBS =\
        netapi32.lib \
+        dnsapi.lib \
+        mpr.lib \
+       rpcrt4.lib \
+       user32.lib \
+        Dbghelp.lib \
+        strsafe.lib \
         mpr.lib \
+        secur32.lib \
+        ole32.lib \
+        oleaut32.lib \
+        iphlpapi.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 \
-       $(DESTDIR)\lib\libosi.lib \
-       rpcrt4.lib \
-       user32.lib \
-    Dbghelp.lib
+        $(LANAHELPERLIB)
 
-$(AFSD_EXEFILE): $(OUT)\afsd.obj $(AFSDOBJS) $(OUT)\afsd.res  $(RXOBJS)
-       $(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: $(OUT)\afsd_service.obj $(AFSDOBJS) $(OUT)\afsd_service.res  $(RXOBJS)
-       $(EXECONLINK) $(AFSD_EXELIBS)
+$(EXEDIR)\afsd_service.exe: $(OUT)\afsd_service.obj $(AFSDOBJS) $(OUT)\afsd_service.res  $(RXOBJS) $(AFSD_EXELIBS)
+       $(EXECONLINK) $(AFSD_SDKLIBS) /MAP /LARGEADDRESSAWARE
        $(EXEPREP)
 
 # fs.exe
-$(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\fs.exe: $(FSOBJS) $(OUT)\fs.res $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
+       $(EXEPREP)
+
+# cmdebug.exe
+$(EXEDIR)\cmdebug.exe: $(CMDBGOBJS) $(OUT)\cmdebug.res $(EXELIBS2)
+       $(EXECONLINK) $(EXELIBS2) dnsapi.lib mpr.lib iphlpapi.lib rpcrt4.lib
        $(EXEPREP)
 
 # symlink.exe
-$(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res
-       $(EXECONLINK) $(EXELIBS)
+$(EXEDIR)\symlink.exe: $(SLOBJS) $(OUT)\symlink.res  $(EXELIBS)
+       $(EXECONLINK) dnsapi.lib mpr.lib iphlpapi.lib
        $(EXEPREP)
 
 # afsshare.exe
@@ -300,6 +425,11 @@ $(EXEDIR)\afsshare.exe: $(OUT)\afsshare.obj $(OUT)\afsshare.res
        $(EXECONLINK)
        $(EXEPREP)
 
+# afsdacl.exe
+$(EXEDIR)\afsdacl.exe: $(OUT)\afsdacl.obj $(OUT)\afsdacl.res
+       $(EXECONLINK)
+       $(EXEPREP)
+
 # kpasswd.exe - built in kauth, but rebuild here to make pthread-based,
 #    which is required for Windows 95.  At some point it would be nice
 #    for all commands to be pthread based, in which case they should
@@ -318,18 +448,22 @@ KPASSWD_OBJS =\
 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
 
 $(OUT)\kpasswd.obj: $(KAUTH)/kpasswd.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
 
 $(OUT)\kkids.obj: $(KAUTH)/kkids.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
 
 $(OUT)\kautils.obj: $(KAUTH)/kautils.c
-       $(C2OBJ) -DAFS_PTHREAD_ENV $**
+       $(C2OBJ) -DAFS_PTHREAD_ENV /Fo$@ $**
+
+$(OUT)\kpasswd.res: $(KAUTH)\kpasswd.rc
+    $(RC) /Fo$@ $**
 
 $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
        $(DEL) $(DESTDIR)\bin\kpasswd.exe
@@ -340,30 +474,36 @@ $(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
 ############################################################################
 # generate versioninfo resources
 
-$(OUT)\afsshare.res: AFS_component_version_number.h
+$(OUT)\afsshare.res: afsshare.rc AFS_component_version_number.h
 
-$(OUT)\fs.res: AFS_component_version_number.h
+$(OUT)\fs.res: fs.rc AFS_component_version_number.h
 
-$(OUT)\symlink.res: AFS_component_version_number.h
+$(OUT)\symlink.res: symlink.rc AFS_component_version_number.h
 
-$(OUT)\klog.res: AFS_component_version_number.h
+$(OUT)\klog.res: klog.rc AFS_component_version_number.h
 
-$(OUT)\tokens.res: AFS_component_version_number.h
+$(OUT)\tokens.res: tokens.rc AFS_component_version_number.h
 
-$(OUT)\unlog.res: AFS_component_version_number.h
+$(OUT)\unlog.res: unlog.rc AFS_component_version_number.h
 
-$(OUT)\afsd_service.res: AFS_component_version_number.h
+$(OUT)\afscpcc.res: afscpcc.rc AFS_component_version_number.h
 
-$(OUT)\afslogon.res: AFS_component_version_number.h
+afsd_eventmessages.rc: afsd_eventmessages.h
 
-$(OUT)\afslog95.res: AFS_component_version_number.h
+$(OUT)\afsd_service.res: afsd_service.rc afsd_eventmessages.rc AFS_component_version_number.h
 
-$(OUT)\libafsconf.res: AFS_component_version_number.h
+$(OUT)\afslogon.res: afslogon.rc AFS_component_version_number.h
 
+$(OUT)\afslog95.res: afslog95.rc AFS_component_version_number.h
+
+$(OUT)\libafsconf.res: libafsconf.rc AFS_component_version_number.h
+
+############################################################################
 clean::
        $(DEL) $(OUT)\*.res
        $(DEL) afsrpc.h
        $(DEL) afsrpc_?.*
+        $(DEL) afsd_eventmessages.h
        $(DEL) $(CONF_DLLFILE)
        $(DEL) $(LOGON_DLLFILE)
        $(DEL) $(LOG95_DLLFILE)