Improve Windows Build System By Using MT-safe Versions of Libraries
[openafs.git] / src / config / NTMakefile
index 4307f5d..8b9aa88 100644 (file)
@@ -5,21 +5,20 @@
 # License.  For details, see the LICENSE file in the top-level source
 # directory or online at http://www.openafs.org/dl/license10.html
 
+RELDIR=config
 !INCLUDE NTMakefile.$(SYS_NAME)
 
 # Relative path to src directory depends on how we got to current directory.
 
-!IF (EXIST(..\..\src))
-SRCROOT = ..\..\src
-!ELSE IF (EXIST(..\..\..\src))
-SRCROOT = ..\..\..\src
-!ELSE
-!ERROR Can not find src directory from current directory.
-!ENDIF
-
 INCFILEDIR = $(DESTDIR)\include\afs
 
+
 INCFILES =\
+       $(INCFILEDIR)\debug.h \
+       $(INCFILEDIR)\afsconfig.h \
+       $(INCFILEDIR)\stds.h \
+       $(INCFILEDIR)\param.h \
+       $(INCFILEDIR)\afs_sysnames.h \
        $(INCFILEDIR)\afs_args.h \
        $(INCFILEDIR)\debug.h \
        $(INCFILEDIR)\param.h \
@@ -36,6 +35,366 @@ $(INCFILEDIR)\afsconfig.h: afsconfig-windows.h
        $(COPY) $? $@
 
 idirs: doclink
+!      IF (!EXIST($(OJT)))
+               $(MKDIR) $(OJT)
+!      ENDIF
+!      IF (!EXIST($(OJT)\afs))
+               $(MKDIR) $(OJT)\afs
+!      ENDIF
+!      IF (!EXIST($(OJT)\audit))
+               $(MKDIR) $(OJT)\audit
+!      ENDIF
+!      IF (!EXIST($(OJT)\auth))
+               $(MKDIR) $(OJT)\auth
+!      ENDIF
+!      IF (!EXIST($(OJT)\auth\test))
+               $(MKDIR) $(OJT)\auth\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\bozo))
+               $(MKDIR) $(OJT)\bozo
+!      ENDIF
+!      IF (!EXIST($(OJT)\bubasics))
+               $(MKDIR) $(OJT)\bubasics
+!      ENDIF
+!      IF (!EXIST($(OJT)\bucoord))
+               $(MKDIR) $(OJT)\bucoord
+!      ENDIF
+!      IF (!EXIST($(OJT)\budb))
+               $(MKDIR) $(OJT)\budb
+!      ENDIF
+!      IF (!EXIST($(OJT)\butc))
+               $(MKDIR) $(OJT)\butc
+!      ENDIF
+!      IF (!EXIST($(OJT)\butm))
+               $(MKDIR) $(OJT)\butm
+!      ENDIF
+!      IF (!EXIST($(OJT)\bu_utils))
+               $(MKDIR) $(OJT)\bu_utils
+!      ENDIF
+!      IF (!EXIST($(OJT)\cmd))
+               $(MKDIR) $(OJT)\cmd
+!      ENDIF
+!      IF (!EXIST($(OJT)\cmd\test))
+               $(MKDIR) $(OJT)\cmd\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\comerr))
+               $(MKDIR) $(OJT)\comerr
+!      ENDIF
+!      IF (!EXIST($(OJT)\comerr\test))
+               $(MKDIR) $(OJT)\comerr\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\config))
+               $(MKDIR) $(OJT)\config
+!      ENDIF
+!      IF (!EXIST($(OJT)\des))
+               $(MKDIR) $(OJT)\des
+!      ENDIF
+!      IF (!EXIST($(OJT)\des\test))
+               $(MKDIR) $(OJT)\des\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\des_stub))
+               $(MKDIR) $(OJT)\des_stub
+!      ENDIF
+!      IF (!EXIST($(OJT)\dir))
+               $(MKDIR) $(OJT)\dir
+!      ENDIF
+!      IF (!EXIST($(OJT)\dir\test))
+               $(MKDIR) $(OJT)\dir\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\finale))
+               $(MKDIR) $(OJT)\finale
+!      ENDIF
+!      IF (!EXIST($(OJT)\fsint))
+               $(MKDIR) $(OJT)\fsint
+!      ENDIF
+!      IF (!EXIST($(OJT)\kauth))
+               $(MKDIR) $(OJT)\kauth
+!      ENDIF
+!      IF (!EXIST($(OJT)\kauth\test))
+               $(MKDIR) $(OJT)\kauth\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\libacl))
+               $(MKDIR) $(OJT)\libacl
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin))
+               $(MKDIR) $(OJT)\libadmin
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\adminutil))
+               $(MKDIR) $(OJT)\libadmin\adminutil
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\bos))
+               $(MKDIR) $(OJT)\libadmin\bos
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\cfg))
+               $(MKDIR) $(OJT)\libadmin\cfg
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\cfg\test))
+               $(MKDIR) $(OJT)\libadmin\cfg\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\client))
+               $(MKDIR) $(OJT)\libadmin\client
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\kas))
+               $(MKDIR) $(OJT)\libadmin\kas
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\pts))
+               $(MKDIR) $(OJT)\libadmin\pts
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\test))
+               $(MKDIR) $(OJT)\libadmin\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\libadmin\vos))
+               $(MKDIR) $(OJT)\libadmin\vos
+!      ENDIF
+!      IF (!EXIST($(OJT)\libafsauthent))
+               $(MKDIR) $(OJT)\libafsauthent
+!      ENDIF
+!      IF (!EXIST($(OJT)\libafsrpc))
+               $(MKDIR) $(OJT)\libafsrpc
+!      ENDIF
+!      IF (!EXIST($(OJT)\lwp))
+               $(MKDIR) $(OJT)\lwp
+!      ENDIF
+!      IF (!EXIST($(OJT)\lwp\test))
+               $(MKDIR) $(OJT)\lwp\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\procmgmt))
+               $(MKDIR) $(OJT)\procmgmt
+!      ENDIF
+!      IF (!EXIST($(OJT)\procmgmt\test))
+               $(MKDIR) $(OJT)\procmgmt\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\ptserver))
+               $(MKDIR) $(OJT)\ptserver
+!      ENDIF
+!      IF (!EXIST($(OJT)\rx))
+               $(MKDIR) $(OJT)\rx
+!      ENDIF
+!      IF (!EXIST($(OJT)\rx\test))
+               $(MKDIR) $(OJT)\rx\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\rxdebug))
+               $(MKDIR) $(OJT)\rxdebug
+!      ENDIF
+!      IF (!EXIST($(OJT)\rxgen))
+               $(MKDIR) $(OJT)\rxgen
+!      ENDIF
+!      IF (!EXIST($(OJT)\rxkad))
+               $(MKDIR) $(OJT)\rxkad
+!      ENDIF
+!      IF (!EXIST($(OJT)\rxstat))
+               $(MKDIR) $(OJT)\rxstat
+!      ENDIF
+!      IF (!EXIST($(OJT)\shlibafsauthent))
+               $(MKDIR) $(OJT)\shlibafsauthent
+!      ENDIF
+!      IF (!EXIST($(OJT)\shlibafsrpc))
+               $(MKDIR) $(OJT)\shlibafsrpc
+!      ENDIF
+!      IF (!EXIST($(OJT)\sys))
+               $(MKDIR) $(OJT)\sys
+!      ENDIF
+!      IF (!EXIST($(OJT)\tbutc))
+               $(MKDIR) $(OJT)\tbutc
+!      ENDIF
+!      IF (!EXIST($(OJT)\tviced))
+               $(MKDIR) $(OJT)\tviced
+!      ENDIF
+!      IF (!EXIST($(OJT)\tvolser))
+               $(MKDIR) $(OJT)\tvolser
+!      ENDIF
+!      IF (!EXIST($(OJT)\ubik))
+               $(MKDIR) $(OJT)\ubik
+!      ENDIF
+!      IF (!EXIST($(OJT)\update))
+               $(MKDIR) $(OJT)\update
+!      ENDIF
+!      IF (!EXIST($(OJT)\usd))
+               $(MKDIR) $(OJT)\usd
+!      ENDIF
+!      IF (!EXIST($(OJT)\usd\test))
+               $(MKDIR) $(OJT)\usd\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\util))
+               $(MKDIR) $(OJT)\util
+!      ENDIF
+!      IF (!EXIST($(OJT)\util\test))
+               $(MKDIR) $(OJT)\util\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\viced))
+               $(MKDIR) $(OJT)\viced
+!      ENDIF
+!      IF (!EXIST($(OJT)\vlserver))
+               $(MKDIR) $(OJT)\vlserver
+!      ENDIF
+!      IF (!EXIST($(OJT)\vol))
+               $(MKDIR) $(OJT)\vol
+!      ENDIF
+!      IF (!EXIST($(OJT)\vol\test))
+               $(MKDIR) $(OJT)\vol\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\volser))
+               $(MKDIR) $(OJT)\volser
+!      ENDIF
+!      IF (!EXIST($(OJT)\xstat))
+               $(MKDIR) $(OJT)\xstat
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT))
+               $(MKDIR) $(OJT)\WINNT
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsadmsvr))
+               $(MKDIR) $(OJT)\WINNT\afsadmsvr
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsapplib))
+               $(MKDIR) $(OJT)\WINNT\afsapplib
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsapplib\lang))
+               $(MKDIR) $(OJT)\WINNT\afsapplib\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsapplib\test))
+               $(MKDIR) $(OJT)\WINNT\afsapplib\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsclass))
+               $(MKDIR) $(OJT)\WINNT\afsclass
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsd))
+               $(MKDIR) $(OJT)\WINNT\afsd
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afslegal))
+               $(MKDIR) $(OJT)\WINNT\afslegal
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afslegal\lang))
+               $(MKDIR) $(OJT)\WINNT\afslegal\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsreg))
+               $(MKDIR) $(OJT)\WINNT\afsreg
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsreg\test))
+               $(MKDIR) $(OJT)\WINNT\afsreg\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afssvrcfg))
+               $(MKDIR) $(OJT)\WINNT\afssvrcfg
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afssvrcfg\lang))
+               $(MKDIR) $(OJT)\WINNT\afssvrcfg\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afssvrcpa))
+               $(MKDIR) $(OJT)\WINNT\afssvrcpa
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afssvrcpa\lang))
+               $(MKDIR) $(OJT)\WINNT\afssvrcpa\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afssvrmgr))
+               $(MKDIR) $(OJT)\WINNT\afssvrmgr
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afssvrmgr\lang))
+               $(MKDIR) $(OJT)\WINNT\afssvrmgr\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsusrmgr))
+               $(MKDIR) $(OJT)\WINNT\afsusrmgr
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afsusrmgr\lang))
+               $(MKDIR) $(OJT)\WINNT\afsusrmgr\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afs_setup_utils))
+               $(MKDIR) $(OJT)\WINNT\afs_setup_utils
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afs_setup_utils\lang))
+               $(MKDIR) $(OJT)\WINNT\afs_setup_utils\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afs_setup_utils\_isuser))
+               $(MKDIR) $(OJT)\WINNT\afs_setup_utils\_isuser
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\afs_setup_utils\GetWebDll))
+               $(MKDIR) $(OJT)\WINNT\afs_setup_utils\GetWebDll
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\aklog))
+               $(MKDIR) $(OJT)\WINNT\aklog
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\bosctlsvc))
+               $(MKDIR) $(OJT)\WINNT\bosctlsvc
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_config))
+               $(MKDIR) $(OJT)\WINNT\client_config
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_config\lang))
+               $(MKDIR) $(OJT)\WINNT\client_config\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_cpa))
+               $(MKDIR) $(OJT)\WINNT\client_cpa
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_cpa\lang))
+               $(MKDIR) $(OJT)\WINNT\client_cpa\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_creds))
+               $(MKDIR) $(OJT)\WINNT\client_creds
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_creds\lang))
+               $(MKDIR) $(OJT)\WINNT\client_creds\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_exp))
+               $(MKDIR) $(OJT)\WINNT\client_exp
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_exp\lang))
+               $(MKDIR) $(OJT)\WINNT\client_exp\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\client_osi))
+               $(MKDIR) $(OJT)\WINNT\client_osi
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\eventlog))
+               $(MKDIR) $(OJT)\WINNT\eventlog
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\eventlog\lang))
+               $(MKDIR) $(OJT)\WINNT\eventlog\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\eventlog\test))
+               $(MKDIR) $(OJT)\WINNT\eventlog\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install))
+               $(MKDIR) $(OJT)\WINNT\install
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\InstallShield5))
+               $(MKDIR) $(OJT)\WINNT\install\InstallShield5
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\loopback))
+               $(MKDIR) $(OJT)\WINNT\install\loopback
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\NSIS))
+               $(MKDIR) $(OJT)\WINNT\install\NSIS
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\wix))
+               $(MKDIR) $(OJT)\WINNT\install\wix
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\wix\custom))
+               $(MKDIR) $(OJT)\WINNT\install\wix\custom
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\wix\uninstall))
+               $(MKDIR) $(OJT)\WINNT\install\wix\uninstall
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\install\Win9x))
+               $(MKDIR) $(OJT)\WINNT\install\Win9x
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\license))
+               $(MKDIR) $(OJT)\WINNT\license
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\license\lang))
+               $(MKDIR) $(OJT)\WINNT\license\lang
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\netidmgr_plugin))
+               $(MKDIR) $(OJT)\WINNT\netidmgr_plugin
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\pthread))
+               $(MKDIR) $(OJT)\WINNT\pthread
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\pthread\test))
+               $(MKDIR) $(OJT)\WINNT\pthread\test
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\talocale))
+               $(MKDIR) $(OJT)\WINNT\talocale
+!      ENDIF
+!      IF (!EXIST($(OJT)\WINNT\win9xpanel))
+               $(MKDIR) $(OJT)\WINNT\win9xpanel
+!      ENDIF
 !      IF (!EXIST($(DESTDIR)))
                $(MKDIR) $(DESTDIR)
 !      ENDIF
@@ -45,6 +404,9 @@ idirs: doclink
 !      IF (!EXIST($(DESTDIR)\include\afs))
                $(MKDIR) $(DESTDIR)\include\afs
 !      ENDIF
+!      IF (!EXIST($(DESTDIR)\include\des))
+               $(MKDIR) $(DESTDIR)\include\des
+!      ENDIF
 !      IF (!EXIST($(DESTDIR)\include\rx))
                $(MKDIR) $(DESTDIR)\include\rx
 !      ENDIF
@@ -102,24 +464,15 @@ idirs: doclink
        $(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\afsconfig.h
 
 INCCOPY = \
-       $(DESTDIR)\bin\rmbat.bat \
-       $(DESTDIR)\bin\rmbat.rsp \
        $(DESTDIR)\bin\NTBUILD.bat
 
-$(DESTDIR)\bin\rmbat.bat:..\rmbat.bat
-       $(COPY) $? $@
-       util_cr + $@
-
-$(DESTDIR)\bin\rmbat.rsp:..\rmbat.rsp
-       $(COPY) $? $@
-
 $(DESTDIR)\bin\NTBUILD.bat:..\NTBUILD.bat
        $(COPY) $? $@
-       util_cr + $@
+       $(UTIL_CR) + $@
 
-$(DESTDIR)\bin\NTLang.bat: NTLang.bat util_cr.exe 
+$(DESTDIR)\bin\NTLang.bat: NTLang.bat $(DESTDIR)\bin\util_cr.exe 
        $(COPY) NTLang.bat $(DESTDIR)\bin
-       util_cr + $(DESTDIR)\bin\NTLang.bat
+       $(UTIL_CR) + $(DESTDIR)\bin\NTLang.bat
 
 $(DESTDIR)\NTDllmap.txt:NTDllmap.txt
        $(COPY) $? $@
@@ -137,7 +490,7 @@ doclink:
 version: $(DESTDIR)\bin\mkvers.exe NTMakefile.version 
 
 NTMakefile.version: NTMakefile.version-CML NTMakefile.version-NOCML
-       $(DEL) NTMakefile.version
+       -$(DEL) NTMakefile.version
 !      IF (EXIST(..\..\src\CML\state) || EXIST(..\..\..\src\CML\state))
                $(COPY) NTMakefile.version-CML NTMakefile.version
 !      ELSE
@@ -149,20 +502,26 @@ INCTOOLS = \
        $(DESTDIR)\bin\util_cr.exe \
        $(DESTDIR)\bin\touch.exe
 
-#mkvers.exe : mkvers.obj
-#      $(EXECONLINK)
-
-$(DESTDIR)\bin\mkvers.exe:mkvers.exe
-       $(COPY) mkvers.exe $(DESTDIR)\bin\.
+$(INCTOOLS):$(OUT)\$$(@F)
+       $(COPY) $** $(DESTDIR)\bin\.
+!IF ("$(AFSVER_CL)"=="1400")
+       $(COPY) $**.manifest $(DESTDIR)\bin\.
+!ENDIF
 
-$(DESTDIR)\bin\util_cr.exe:util_cr.exe
-       $(COPY) util_cr.exe $(DESTDIR)\bin\.
+$(OUT)\mkvers.exe : $(OUT)\mkvers.obj
+       $(EXECONLINK)
+        $(_VC_MANIFEST_EMBED_EXE)
+        $(CODESIGN_USERLAND)
 
-util_cr.exe : util_cr.obj
+$(OUT)\touch.exe : $(OUT)\touch.obj
        $(EXECONLINK)
+        $(_VC_MANIFEST_EMBED_EXE)
+        $(CODESIGN_USERLAND)
 
-$(DESTDIR)\bin\touch.exe:touch.exe
-       $(COPY) touch.exe $(DESTDIR)\bin\.
+$(OUT)\util_cr.exe : $(OUT)\util_cr.obj
+       $(EXECONLINK)
+        $(_VC_MANIFEST_EMBED_EXE)
+        $(CODESIGN_USERLAND)
 
 langsetup: $(DESTDIR)\bin\NTLang.bat
 
@@ -173,13 +532,12 @@ install9x: install
 # This clean target must be named something different than the universal
 # 'clean' so that the version file can be removed last.
 clean_version:
-       $(DEL) NTMakefile.version
+       -$(DEL) NTMakefile.version
 
 clean::
-       $(DEL) $(DESTDIR)\LIB\*.DLL
-       $(DEL) $(DESTDIR)\bin\mkver.exe
-       $(DEL) $(DESTDIR)\bin\touch.exe
-       $(DEL) $(DESTDIR)\bin\util_cr.exe
-       $(DEL) mkver.exe
-       $(DEL) touch.exe
-       $(DEL) util_cr.exe
\ No newline at end of file
+       -$(DEL) $(DESTDIR)\LIB\*.DLL
+       -$(DEL) $(DESTDIR)\bin\mkver.exe*
+       -$(DEL) $(DESTDIR)\bin\touch.exe*
+       -$(DEL) $(OUT)\util_cr.exe*
+       -$(DEL) $(OUT)\mkver.exe*
+       -$(DEL) $(OUT)\touch.exe*