windows-more-updates-20030315
[openafs.git] / src / NTMakefile
index 02af8af..a646122 100644 (file)
 # appropriately; if the new directory is the last in the chain, then
 # update the 'finale' dependency to be the new directory.
 
+# These three macros define the source, object, and destination folders
 
-CD = cd
-NTMAKE = nmake /nologo /f ntmakefile install
-NTMAKE_HEADERS = nmake /nologo /f ntmakefile install_headers
-MKDIR = mkdir
-
-# Standard install directory.
-!IFDEF AFSDEV_DESTDIR
-DESTDIR = $(AFSDEV_DESTDIR)
+SRC=src
+#If AFS_OBJDIR is not defined then use obj as relative obj folder
+!IFDEF AFS_OBJDIR
+DESTDIR=$(AFS_OBJDIR)\dest
 !ELSE
-DESTDIR = $(AFSROOT)\DEST
+DESTDIR=obj\dest
+AFS_OBJDIR=obj
 !ENDIF
 
+CD = cd
+NTMAKE = nmake /nologo /f ntmakefile install
+NTMAKELANG = nmake /nologo  /f ntmakefile en_US
+NTMAKE_HEADERS = nmake /nologo  /f ntmakefile install_headers
+NTMAKE_OBJS = nmake /nologo /f ntmakefile install_objs
+MKDIR = mkdir
 
-start:
-!      IF (!EXIST(src))
-!      ERROR Execute nmake from directory above src, e.g., afs\3.5.
-!      ENDIF
-!      IF (!EXIST($(DESTDIR)))
-    $(MKDIR) $(DESTDIR)
-!      ENDIF
+#debug statement support jumping to last know error
+DOCD=src\DOLASTCMP.BAT
 
 config:
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\config
+       $(CD) $(SRC)\config
        $(NTMAKE)
        $(CD) ..\..
 
-procmgmt_headers: config
-       $(CD) src\procmgmt
+procmgmt_headers:config
+     echo ***** $@
+       $(DOCD) $(SRC)\procmgmt
+       $(CD) $(SRC)\procmgmt
        $(NTMAKE_HEADERS)
        $(CD) ..\..
 
-afsreg_headers: config
-       $(CD) src\WINNT\afsreg
+afsreg_headers:
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\afsreg
+       $(CD) $(SRC)\WINNT\afsreg
        $(NTMAKE_HEADERS)
        $(CD) ..\..\..
 
 util: procmgmt_headers afsreg_headers
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 comerr: util
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 cmd: comerr
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 afsreg: cmd
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 eventlog: afsreg
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 lwp: eventlog
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 rxgen: lwp
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 des: rxgen
-!      IF (EXIST(src\des\NTMakefile))
-               $(CD) src\des
+     echo ***** $@
+!      IF (EXIST($(SRC)\des\NTMakefile))
+               $(DOCD) $(SRC)\des
+               $(CD) $(SRC)\des
                $(NTMAKE)
                $(CD) ..\..
 !      ELSE
-               $(CD) src\des_stub
+               $(DOCD) $(SRC)\des_stub
+               $(CD) $(SRC)\des_stub
                $(NTMAKE)
                $(CD) ..\..
 !      ENDIF
 
 rx: des
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 rxstat: rx
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 rxkad: rxstat
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 pthread: rxkad
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 procmgmt: pthread
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 fsint: procmgmt
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 audit: fsint
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 osi_headers: audit
-       $(CD) src\WINNT\client_osi
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\client_osi
+       $(CD) $(SRC)\WINNT\client_osi
        $(NTMAKE_HEADERS)
        $(CD) ..\..\..
 
 libacl_headers: osi_headers
-       $(CD) src\libacl
+     echo ***** $@
+       $(DOCD) $(SRC)\libacl
+       $(CD) $(SRC)\libacl
        $(NTMAKE_HEADERS)
        $(CD) ..\..
 
 cm_headers: libacl_headers
-       $(CD) src\WINNT\afsd
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\afsd
+       $(CD) $(SRC)\WINNT\afsd
        $(NTMAKE_HEADERS)
        $(CD) ..\..\..
 
 sys: cm_headers
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
-auth: sys
-       $(CD) src\$@
+afsdobjs: sys
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\afsd
+       $(CD) $(SRC)\WINNT\afsd
+       $(NTMAKE_OBJS)
+       $(CD) ..\..\..
+
+auth: afsdobjs
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 ubik: auth
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..     
 
 ptserver: ubik
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..     
 
 libacl: ptserver
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 kauth: libacl
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 vlserver: kauth
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 usd: vlserver
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 bubasics: usd
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 budb:  bubasics
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 butm:  budb
-        $(CD) src\$@
-        $(NTMAKE)
-        $(CD) ..\..
+     echo ***** $@
+     $(DOCD) $(SRC)\$@
+     $(CD) $(SRC)\$@
+     $(NTMAKE)
+     $(CD) ..\..
 
 dir: butm
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 vol: dir
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 volser: vol
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 viced: volser
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 update: viced
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 bucoord: update
-        $(CD) src\$@
-        $(NTMAKE)
-        $(CD) ..\..
+     echo ***** $@
+     $(DOCD) $(SRC)\$@
+     $(CD) $(SRC)\$@
+     $(NTMAKE)
+     $(CD) ..\..
 
 butc:   bucoord
-        $(CD) src\$@
-        $(NTMAKE)
-        $(CD) ..\..
+     echo ***** $@
+     $(DOCD) $(SRC)\$@
+     $(CD) $(SRC)\$@
+     $(NTMAKE)
+     $(CD) ..\..
 
 bozo: butc
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 bosctlsvc: bozo
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 bu_utils: bosctlsvc
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 libafsrpc: bu_utils
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 libafsauthent: libafsrpc
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 tviced: libafsauthent
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
 
 tbutc:  tviced
-        $(CD) src\$@
-        $(NTMAKE)
-        $(CD) ..\..
+     echo ***** $@
+     $(DOCD) $(SRC)\$@
+     $(CD) $(SRC)\$@
+     $(NTMAKE)
+     $(CD) ..\..
 
 libadmin: tbutc
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..
-       
+
 adminutil: libadmin
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
-       
+
 vos: adminutil
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
-       
+
 client: vos
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
-       
+
 kas: client
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
-       
+
 pts: kas
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
-       
+
 bos: pts
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 cfg: bos
-       $(CD) src\libadmin\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\$@
+       $(CD) $(SRC)\libadmin\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 admintest: cfg
-       $(CD) src\libadmin\test
+     echo ***** $@
+       $(DOCD) $(SRC)\libadmin\test
+       $(CD) $(SRC)\libadmin\test
        $(NTMAKE)
        $(CD) ..\..\..
 
 talocale: admintest
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 license: talocale
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 afsadmsvr: license
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 afsusrmgr: afsadmsvr
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 afssvrmgr: afsusrmgr
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 afssvrcfg: afssvrmgr
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 afssvrcpa: afssvrcfg
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
-afs_setup_utils: afssvrcpa
-       $(CD) src\WINNT\$@
-       $(NTMAKE)
-       $(CD) ..\..\..
-
-client_talocale: afs_setup_utils
-       $(CD) src\WINNT\talocale
+client_talocale: afssvrcpa
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\talocale
+       $(CD) $(SRC)\WINNT\talocale
        $(NTMAKE)
        $(CD) ..\..\..
 
 client_osi: client_talocale
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 afsd: client_osi
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 client_cpa: afsd
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 client_config: client_cpa
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 client_exp: client_config
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 client_creds: client_exp
-       $(CD) src\WINNT\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\WINNT\$@
+       $(CD) $(SRC)\WINNT\$@
        $(NTMAKE)
        $(CD) ..\..\..
 
 finale: client_creds
-       $(CD) src\$@
+     echo ***** $@
+       $(DOCD) $(SRC)\$@
+       $(CD) $(SRC)\$@
        $(NTMAKE)
        $(CD) ..\..     
+       echo Build Finished Successfully
 
-install: start finale
+install: finale
 
 # InstallShield dependencies
 
-InstallShield5: install
-       $(CD) src\WINNT\install\$@
+InstallShield5:
+       echo ***** afs_setup_utils
+       $(DOCD) $(SRC)\WINNT\afs_setup_utils
+       $(CD) $(SRC)\WINNT\afs_setup_utils
+       $(NTMAKE)
+       $(CD) ..\..\..
+
+       $(DOCD) $(SRC)\WINNT\install\$@
+       $(CD) $(SRC)\WINNT\install\$@
        $(NTMAKE)
        $(CD) ..\..\..\..
 
 media: InstallShield5
 
-
-
-# Clean target for src tree
-clean: start
-        nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" install
-       $(CD) src\config
+# Clean target for obj tree
+clean:
+       nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" install
+       nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" media
+       $(CD) $(SRC)\config
        nmake /nologo /f ntmakefile clean_version
        $(CD) ..\..
 
-
 # Language-only build target
 lang:
-        nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
+    nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
+
+mkdir:
+       -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\checked\ 
+       -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\free\ 
+    -mkdir $(DESTDIR)\checked
+       -mkdir $(DESTDIR)\free
+    -mkdir $(DESTDIR)\checked\bin
+       -mkdir $(DESTDIR)\free\bin
+       -@copy $(SRC)\config\NTLANG.BAT .
+