# 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
+
+SRC=src
+#If AFS_OBJDIR is not defined then use obj as relative obj folder
+!IFDEF AFS_OBJDIR
+DESTDIR=$(AFS_OBJDIR)\dest
+!ELSE
+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
+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
-OBJ = src
-
-# Standard install directory.
-!IFDEF AFSDEV_DESTDIR
-DESTDIR = $(AFSDEV_DESTDIR)
-!ELSE
-DESTDIR = $(AFSROOT)\DEST
-!ENDIF
-
-start:
-! IF (!EXIST(src))
-! ERROR Execute nmake from directory above src, e.g., afs\3.5.
-! ENDIF
-! IF (!EXIST($(DESTDIR)))
- $(MKDIR) $(DESTDIR)
-! ENDIF
+SDEBUG=echo cd $(SRC)\$@ >d:\dev\bat\gc.bat
+WDEBUG=echo cd $(SRC)\WINNT\$@ >d:\dev\bat\gc.bat
+LDEBUG=echo cd $(SRC)\libadmin\$@ >d:\dev\bat\gc.bat
+TDEBUG=echo cd $(SRC)\WINNT\talocale >d:\dev\bat\gc.bat
+WADEBUG=echo cd $(SRC)\WINNT\afs_setup_utils >d:\dev\bat\gc.bat
+WIDEBUG=echo cd $(SRC)\WINNT\install\$@ >d:\dev\bat\gc.bat
+RIDEBUG=echo cd $(SRC)\WINNT\afsreg >d:\dev\bat\gc.bat
config:
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(CD) $(SRC)\config
$(NTMAKE)
$(CD) ..\..
-procmgmt_headers: config
+procmgmt_headers:config
echo ***** $@
- $(CD) $(OBJ)\procmgmt
+ $(SDEBUG)
+ $(CD) $(SRC)\procmgmt
$(NTMAKE_HEADERS)
$(CD) ..\..
-afsreg_headers: config
+afsreg_headers:
echo ***** $@
- $(CD) $(OBJ)\WINNT\afsreg
+ $(RIDEBUG)
+ $(CD) $(SRC)\WINNT\afsreg
$(NTMAKE_HEADERS)
$(CD) ..\..\..
util: procmgmt_headers afsreg_headers
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
comerr: util
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
cmd: comerr
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
afsreg: cmd
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
eventlog: afsreg
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
lwp: eventlog
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
rxgen: lwp
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
des: rxgen
echo ***** $@
-! IF (EXIST($(OBJ)\des\NTMakefile))
- $(CD) $(OBJ)\des
+ $(SDEBUG)
+! IF (EXIST($(SRC)\des\NTMakefile))
+ $(CD) $(SRC)\des
$(NTMAKE)
$(CD) ..\..
! ELSE
- $(CD) $(OBJ)\des_stub
+ $(CD) $(SRC)\des_stub
$(NTMAKE)
$(CD) ..\..
! ENDIF
rx: des
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
rxstat: rx
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
rxkad: rxstat
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
pthread: rxkad
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
procmgmt: pthread
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
fsint: procmgmt
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
audit: fsint
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
osi_headers: audit
echo ***** $@
- $(CD) $(OBJ)\WINNT\client_osi
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\client_osi
$(NTMAKE_HEADERS)
$(CD) ..\..\..
libacl_headers: osi_headers
echo ***** $@
- $(CD) $(OBJ)\libacl
+ $(SDEBUG)
+ $(CD) $(SRC)\libacl
$(NTMAKE_HEADERS)
$(CD) ..\..
cm_headers: libacl_headers
echo ***** $@
- $(CD) $(OBJ)\WINNT\afsd
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\afsd
$(NTMAKE_HEADERS)
$(CD) ..\..\..
sys: cm_headers
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
afsdobjs: sys
echo ***** $@
- $(CD) $(OBJ)\WINNT\afsd
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\afsd
$(NTMAKE_OBJS)
$(CD) ..\..\..
auth: afsdobjs
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
ubik: auth
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
ptserver: ubik
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
libacl: ptserver
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
kauth: libacl
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
vlserver: kauth
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
usd: vlserver
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bubasics: usd
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
budb: bubasics
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
butm: budb
echo ***** $@
- $(CD) $(OBJ)\$@
- $(NTMAKE)
- $(CD) ..\..
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
+ $(NTMAKE)
+ $(CD) ..\..
dir: butm
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
vol: dir
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
volser: vol
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
viced: volser
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
update: viced
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bucoord: update
echo ***** $@
- $(CD) $(OBJ)\$@
- $(NTMAKE)
- $(CD) ..\..
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
+ $(NTMAKE)
+ $(CD) ..\..
butc: bucoord
echo ***** $@
- $(CD) $(OBJ)\$@
- $(NTMAKE)
- $(CD) ..\..
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
+ $(NTMAKE)
+ $(CD) ..\..
bozo: butc
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bosctlsvc: bozo
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
bu_utils: bosctlsvc
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
libafsrpc: bu_utils
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
libafsauthent: libafsrpc
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
tviced: libafsauthent
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
tbutc: tviced
echo ***** $@
- $(CD) $(OBJ)\$@
- $(NTMAKE)
- $(CD) ..\..
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
+ $(NTMAKE)
+ $(CD) ..\..
libadmin: tbutc
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
adminutil: libadmin
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
vos: adminutil
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
client: vos
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
kas: client
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
pts: kas
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
bos: pts
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
cfg: bos
echo ***** $@
- $(CD) $(OBJ)\libadmin\$@
+ $(LDEBUG)
+ $(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
admintest: cfg
echo ***** $@
- $(CD) $(OBJ)\libadmin\test
+ $(CD) $(SRC)\libadmin\test
$(NTMAKE)
$(CD) ..\..\..
talocale: admintest
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
license: talocale
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afsadmsvr: license
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afsusrmgr: afsadmsvr
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afssvrmgr: afsusrmgr
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afssvrcfg: afssvrmgr
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afssvrcpa: afssvrcfg
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_talocale: afssvrcpa
echo ***** $@
- $(CD) $(OBJ)\WINNT\talocale
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\talocale
$(NTMAKE)
$(CD) ..\..\..
client_osi: client_talocale
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(TDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afsd: client_osi
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_cpa: afsd
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_config: client_cpa
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_exp: client_config
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_creds: client_exp
echo ***** $@
- $(CD) $(OBJ)\WINNT\$@
+ $(WDEBUG)
+ $(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
finale: client_creds
echo ***** $@
- $(CD) $(OBJ)\$@
+ $(SDEBUG)
+ $(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
echo Build Finished Successfully
-install: start finale
+install: finale
# InstallShield dependencies
InstallShield5:
echo ***** afs_setup_utils
- $(CD) $(OBJ)\WINNT\afs_setup_utils
+ $(WADEBUG)
+ $(CD) $(SRC)\WINNT\afs_setup_utils
$(NTMAKE)
$(CD) ..\..\..
- $(CD) $(OBJ)\WINNT\install\$@
+ $(WIDEBUG)
+ $(CD) $(SRC)\WINNT\install\$@
$(NTMAKE)
$(CD) ..\..\..\..
media: InstallShield5
- echo Install Script Finished Successfully
-
# Clean target for obj tree
-clean: start
+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
- $(CD) $(OBJ)\config
+ 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 .
+
# Microsoft Developer Studio Generated NMAKE File, Based on GetWebDll.dsp
+
+!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
+!INCLUDE ..\..\..\config\NTMakefile.version
+
!IF "$(OS)" == "Windows_NT"
NULL=
!ELSE
NULL=nul
!ENDIF
-OUTDIR=.
-INTDIR=.
+OUTDIR=$(OJT)
+INTDIR=$(OJT)
# Begin Custom Macros
OutDir=.
# End Custom Macros
-INSTALL : "$(OUTDIR)\GetWebDll.dll"
+INSTALL : "$(DESTDIR)\WinInstall\Config\GetWebDll.dll"
-CLEAN :
- -@erase "$(INTDIR)\GetWebDll.pch"
+CLEAN ::
-@erase "$(INTDIR)\*.obj"
- -@erase "$(INTDIR)\vc60.idb"
-@erase "$(OUTDIR)\GetWebDll.dll"
-@erase "$(OUTDIR)\GetWebDll.exp"
-@erase "$(OUTDIR)\GetWebDll.lib"
-@erase "$(OUTDIR)\GetWebDll.sbl"
-@erase "$(OUTDIR)\GetWebDll.pjt"
-"$(OUTDIR)" :
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32_SBRS= \
LINK32=link.exe
-LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\GetWebDll.pdb" /machine:I386 /def:".\GetWebDll.def" /out:"$(OUTDIR)\GetWebDll.dll" /implib:"$(OUTDIR)\GetWebDll.lib"
+LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\GetWebDll.pdb" /machine:I386 /def:".\GetWebDll.def" /out:"$(DESTDIR)\WinInstall\Config\GetWebDll.dll" /implib:"$(DESTDIR)\WinInstall\Config\GetWebDll.lib"
DEF_FILE= \
".\GetWebDll.def"
LINK32_OBJS= \
"$(INTDIR)\GetWebDll.obj" \
"$(INTDIR)\GetWebDll.res"
-"$(OUTDIR)\GetWebDll.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(DESTDIR)\WinInstall\Config\GetWebDll.dll" : $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
SOURCE=.\GetWebDll.cpp
-"$(INTDIR)\GetWebDll.obj" : $(SOURCE) "$(INTDIR)"
+"$(INTDIR)\GetWebDll.obj" : $(SOURCE)
SOURCE=.\GetWebDll.rc
-"$(INTDIR)\GetWebDll.res" : $(SOURCE) "$(INTDIR)"
+"$(INTDIR)\GetWebDll.res" : $(SOURCE)
$(RSC) $(RSC_PROJ) $(SOURCE)
# Source files and libraries that are shared by all of the targets.
AFSAPPLIBOBJS = \
- subclass.obj
+ $(OJT)\subclass.obj
DLLOBJS = \
$(AFSAPPLIBOBJS) \
- progress_dlg.obj \
- animate_icon.obj \
- sutil.obj \
- forceremove.obj \
- afs_setup_utils_stub.res
+ $(OJT)\progress_dlg.obj \
+ $(OJT)\animate_icon.obj \
+ $(OJT)\sutil.obj \
+ $(OJT)\forceremove.obj \
+ $(OJT)\afs_setup_utils_stub.res
VCLIBS = \
comctl32.lib \
AFSAPPLIBDIR = ..\..\WINNT\afsapplib
-subclass.obj: $(AFSAPPLIBDIR)\subclass.cpp
+$(OJT)\subclass.obj: $(AFSAPPLIBDIR)\subclass.cpp
$(C2OBJ) -I$(AFSAPPLIBDIR) $(AFSAPPLIBDIR)\subclass.cpp
AFSRM_EXEFILE = $(DESTDIR)\bin\afsrm.exe
AFSRM_EXEOBJS =\
- afsrm.obj \
- forceremove.obj \
- sutil.obj \
- AFS_component_version_number.obj
+ $(OJT)\afsrm.obj \
+ $(OJT)\forceremove.obj \
+ $(OJT)\sutil.obj \
+ $(OJT)\AFS_component_version_number.obj
AFSRM_EXELIBS =\
$(DESTDIR)\lib\afs\afsreg.lib \
############################################################################
# How to build the shared source file for each uninstall dll
-s_afs_setup_utils.obj: afs_setup_utils.cpp
- $(C2OBJ) afs_setup_utils.cpp -DSERVER_UNINST /Fos_afs_setup_utils.obj
+C2OBJ = $(C2OBJ) -DSERVER_UNINST
-c_afs_setup_utils.obj: afs_setup_utils.cpp
- $(C2OBJ) afs_setup_utils.cpp -DCLIENT_UNINST /Foc_afs_setup_utils.obj
+$(OJT)\s_afs_setup_utils.obj: afs_setup_utils.cpp
+ $(C2OBJ) $**
-cc_afs_setup_utils.obj: afs_setup_utils.cpp
- $(C2OBJ) afs_setup_utils.cpp -DCC_UNINST /Focc_afs_setup_utils.obj
+$(OJT)\c_afs_setup_utils.obj: afs_setup_utils.cpp
+ $(C2OBJ) $**
-lc_afs_setup_utils.obj: afs_setup_utils.cpp
- $(C2OBJ) afs_setup_utils.cpp -DLIGHT_CLIENT_UNINST /Folc_afs_setup_utils.obj
+$(OJT)\cc_afs_setup_utils.obj: afs_setup_utils.cpp
+ $(C2OBJ) $**
-d_afs_setup_utils.obj: afs_setup_utils.cpp
- $(C2OBJ) afs_setup_utils.cpp -DDOCS_UNINST /Fod_afs_setup_utils.obj
+$(OJT)\lc_afs_setup_utils.obj: afs_setup_utils.cpp
+ $(C2OBJ) $**
+
+$(OJT)\d_afs_setup_utils.obj: afs_setup_utils.cpp
+ $(C2OBJ) $**
############################################################################
-$(INSTALL_UTILS_DLLFILE) : afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
+$(INSTALL_UTILS_DLLFILE) : $(OJT)\afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
$(DLLGUILINK) -entry:DllEntryPoint /DEF:install_utils.def $(VCLIBS)
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
$(DEL) $*.lib $*.exp
-$(SERVER_UNINST_DLLFILE) : s_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
+$(SERVER_UNINST_DLLFILE) : $(OJT)\s_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
$(DLLGUILINK) -entry:DllEntryPoint /DEF:server_uninst.def $(VCLIBS)
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
$(DEL) $*.lib $*.exp
-$(CLIENT_UNINST_DLLFILE) : c_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
+$(CLIENT_UNINST_DLLFILE) : $(OJT)\c_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
$(DLLGUILINK) -entry:DllEntryPoint /DEF:client_uninst.def $(VCLIBS)
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
$(DEL) $*.lib $*.exp
-$(CC_UNINST_DLLFILE) : cc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
+$(CC_UNINST_DLLFILE) : $(OJT)\cc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
$(DLLGUILINK) -entry:DllEntryPoint /DEF:cc_uninst.def $(VCLIBS)
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
$(DEL) $*.lib $*.exp
-$(LIGHT_CLIENT_UNINST_DLLFILE) : lc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
+$(LIGHT_CLIENT_UNINST_DLLFILE) : $(OJT)\lc_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
$(DLLGUILINK) -entry:DllEntryPoint /DEF:light_client_uninst.def $(VCLIBS)
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
$(DEL) $*.lib $*.exp
-$(DOCS_UNINST_DLLFILE) : d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
+$(DOCS_UNINST_DLLFILE) : $(OJT)\d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
$(DLLGUILINK) -entry:DllEntryPoint /DEF:docs_uninst.def $(VCLIBS)
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
# Dependencies
#
-afs_setup_utils_stub.res : afs_setup_utils_stub.rc AFS_component_version_number.h
+$(OJT)\afs_setup_utils_stub.res : afs_setup_utils_stub.rc AFS_component_version_number.h
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
NULL=nul
!ENDIF
-OUTDIR=.
-INTDIR=.
-# Begin Custom Macros
-OutDir=.
-# End Custom Macros
+OUTDIR=$(OJT)
+INTDIR=$(OJT)
-INSTALL : "$(OUTDIR)\_IsUser.dll"
+INSTALL : "$(DESTDIR)\WinInstall\Config\_IsUser.dll"
$(DEL) *.PCH
$(DEL) *.IDB
-@erase "$(OUTDIR)\_IsUser.exp"
-@erase "$(OUTDIR)\_IsUser.lib"
-"$(OUTDIR)" ::
- if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
-
CPP=cl.exe
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ISUSER_EXPORTS" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
-.c{$(INTDIR)}.obj::
+.c.{$(OJT)\}obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cpp{$(INTDIR)}.obj::
+.cpp.{$(OJT)\}obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cxx{$(INTDIR)}.obj::
+.cxx.{$(OJT)\}obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.c{$(INTDIR)}.sbr::
+.c.$(OJT)\sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cpp{$(INTDIR)}.sbr::
+.cpp.$(OJT)\sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cxx{$(INTDIR)}.sbr::
+.cxx.$(OJT)\sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
BSC32_SBRS= \
LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\_IsUser.pdb" /machine:I386 /out:"$(OUTDIR)\_IsUser.dll" /implib:"$(OUTDIR)\_IsUser.lib"
+LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\_IsUser.pdb" /machine:I386 /out:"$(DESTDIR)\WinInstall\Config\_IsUser.dll" /implib:"$(OUTDIR)\_IsUser.lib"
LINK32_OBJS= \
"$(INTDIR)\_isuser.obj" \
"$(INTDIR)\_Isuser.res"
-"$(OUTDIR)\_IsUser.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(DESTDIR)\WinInstall\Config\_IsUser.dll" : $(DEF_FILE) $(LINK32_OBJS)
$(LINK32) @<<
$(LINK32_FLAGS) $(LINK32_OBJS)
<<
SOURCE=.\_isuser.c
-"$(INTDIR)\_isuser.obj" : $(SOURCE) "$(INTDIR)"
+"$(INTDIR)\_isuser.obj" : $(SOURCE)
SOURCE=.\_Isuser.RC
-"$(INTDIR)\_Isuser.res" : $(SOURCE) "$(INTDIR)"
+"$(INTDIR)\_Isuser.res" : $(SOURCE)
$(RSC) $(RSC_PROJ) $(SOURCE)
+
+
+mkdir:
#include <WINNT/afsreg.h>
#include <WINNT/afssw.h>
#include <WINNT/talocale.h>
+#include <winnt/osi_malloc.h>
#include "resource.h"
#include "progress_dlg.h"
RCFILE = $(LANGNAME)\afs_setup_utils.rc
-RESFILE = afs_setup_utils_$(LANGID).res
+RESFILE = $(OJT)\afs_setup_utils_$(LANGID).res
DLLOBJS = $(RESFILE)
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
iTaAfsAdmSvrTypes.h
LIBOBJS = \
- TaAfsAdmSvrClient.obj \
- TaAfsAdmSvrClientBind.obj \
- TaAfsAdmSvrClientCache.obj \
- TaAfsAdmSvrClientCell.obj \
- TaAfsAdmSvrClientGroup.obj \
- TaAfsAdmSvrClientInternal.obj \
- TaAfsAdmSvrClientNotify.obj \
- TaAfsAdmSvrClientPing.obj \
- TaAfsAdmSvrClientUser.obj \
- TaAfsAdmSvrCommon.obj \
- iTaAfsAdmSvr_c.obj
+ $(OJT)\TaAfsAdmSvrClient.obj \
+ $(OJT)\TaAfsAdmSvrClientBind.obj \
+ $(OJT)\TaAfsAdmSvrClientCache.obj \
+ $(OJT)\TaAfsAdmSvrClientCell.obj \
+ $(OJT)\TaAfsAdmSvrClientGroup.obj \
+ $(OJT)\TaAfsAdmSvrClientInternal.obj \
+ $(OJT)\TaAfsAdmSvrClientNotify.obj \
+ $(OJT)\TaAfsAdmSvrClientPing.obj \
+ $(OJT)\TaAfsAdmSvrClientUser.obj \
+ $(OJT)\TaAfsAdmSvrCommon.obj \
+ $(OJT)\iTaAfsAdmSvr_c.obj
+
+EXERES = $(OJT)\AfsAdmSvr.res
+
+
+$(EXERES):$$(@B).rc
+ $(RC) $**
EXEOBJS = \
- AfsAdmSvr.res \
- TaAfsAdmSvr.obj \
- TaAfsAdmSvrCallback.obj \
- TaAfsAdmSvrCell.obj \
- TaAfsAdmSvrCommon.obj \
- TaAfsAdmSvrDebug.obj \
- TaAfsAdmSvrGeneral.obj \
- TaAfsAdmSvrGroup.obj \
- TaAfsAdmSvrMain.obj \
- TaAfsAdmSvrProperties.obj \
- TaAfsAdmSvrSearch.obj \
- TaAfsAdmSvrUser.obj \
- iTaAfsAdmSvr_s.obj
+ $(OJT)\TaAfsAdmSvr.obj \
+ $(OJT)\TaAfsAdmSvrCallback.obj \
+ $(OJT)\TaAfsAdmSvrCell.obj \
+ $(OJT)\TaAfsAdmSvrCommon.obj \
+ $(OJT)\TaAfsAdmSvrDebug.obj \
+ $(OJT)\TaAfsAdmSvrGeneral.obj \
+ $(OJT)\TaAfsAdmSvrGroup.obj \
+ $(OJT)\TaAfsAdmSvrMain.obj \
+ $(OJT)\TaAfsAdmSvrProperties.obj \
+ $(OJT)\TaAfsAdmSvrSearch.obj \
+ $(OJT)\TaAfsAdmSvrUser.obj \
+ $(OJT)\iTaAfsAdmSvr_s.obj
VCLIBS =\
gdi32.lib \
$(DESTDIR)\lib\afs\AfsVosAdmin.lib \
$(DESTDIR)\lib\afs\AfsBosAdmin.lib \
$(DESTDIR)\lib\afs\AfsAdminUtil.lib \
- $(DESTDIR)\lib\afs\AfsClientAdmin.lib
+ $(DESTDIR)\lib\afs\AfsClientAdmin.lib \
############################################################################
#
.SUFFIXES: .h .idl
.idl.h:
- midl $(MIDL_FLAGS) $<
+ echo [$<]
+ midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) $<
############################################################################
# Dependencies
#
-AfsAdmSvr.res : AfsAdmSvr.rc AFS_component_version_number.h
-
+$(OJT)\AfsAdmSvr.res : AFS_component_version_number.h
+
+mkdir:
+ -mkdir $(OJT)\..\afsapplib
+ cd ..\afsapplib
+ nmake /nologo /f ntmakefile mkdir
+ cd ..\afsadmsvr
+ -mkdir $(OJT)\..\afsclass
+ cd ..\afsclass
+ nmake /nologo /f ntmakefile mkdir
+ cd ..\afsadmsvr
$(INCFILEDIR)\subclass.h
DLLOBJS = \
- afsapplib_stub.res \
- afsapplib.obj \
- al_admsvr.obj \
- al_browse.obj \
- al_browseset.obj \
- al_cover.obj \
- al_creds.obj \
- al_dynlink.obj \
- al_error.obj \
- al_help.obj \
- al_misc.obj \
- al_progress.obj \
- al_pump.obj \
- al_task.obj \
- al_wizard.obj \
- checklist.obj \
- ctl_date.obj \
- ctl_elapsed.obj \
- ctl_sockaddr.obj \
- ctl_spinner.obj \
- ctl_time.obj \
- dialog.obj \
- fastlist.obj \
- hashlist.obj \
- regexp.obj \
- resize.obj \
- settings.obj \
- subclass.obj
+ $(OJT)\afsapplib_stub.res \
+ $(OJT)\afsapplib.obj \
+ $(OJT)\al_admsvr.obj \
+ $(OJT)\al_browse.obj \
+ $(OJT)\al_browseset.obj \
+ $(OJT)\al_cover.obj \
+ $(OJT)\al_creds.obj \
+ $(OJT)\al_dynlink.obj \
+ $(OJT)\al_error.obj \
+ $(OJT)\al_help.obj \
+ $(OJT)\al_misc.obj \
+ $(OJT)\al_progress.obj \
+ $(OJT)\al_pump.obj \
+ $(OJT)\al_task.obj \
+ $(OJT)\al_wizard.obj \
+ $(OJT)\checklist.obj \
+ $(OJT)\ctl_date.obj \
+ $(OJT)\ctl_elapsed.obj \
+ $(OJT)\ctl_sockaddr.obj \
+ $(OJT)\ctl_spinner.obj \
+ $(OJT)\ctl_time.obj \
+ $(OJT)\dialog.obj \
+ $(OJT)\fastlist.obj \
+ $(OJT)\hashlist.obj \
+ $(OJT)\regexp.obj \
+ $(OJT)\resize.obj \
+ $(OJT)\settings.obj \
+ $(OJT)\subclass.obj
VCLIBS =\
comctl32.lib \
# Dependencies
#
-AfsAppLib_stub.res : AfsAppLib_stub.rc AFS_component_version_number.h
+$(OJT)\AfsAppLib_stub.res : AFS_component_version_number.h
+
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
}
#include <WINNT/TaLocale.h>
+#include <winnt/osi_malloc.h>
/*
RCFILE = $(LANGNAME)\afsapplib.rc
-RESFILE = afsapplib_$(LANGID).res
+RESFILE = $(OJT)\afsapplib_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- @if exist *.res del *.res
+ @if exist $(OJT)\*.res del $(OJT)\*.res
@if exist RC*. del RC*.
@if exist RD*. del RD*.
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+mkdir:
#include <windows.h>
#include <WINNT/subclass.h>
+#include <winnt/osi_malloc.h>
/*
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\WizTest.exe
EXEOBJS = \
- wiztest.res \
- wiztest.obj
+ $(OJT)\wiztest.res \
+ $(OJT)\wiztest.obj
EXELIBS = \
$(DESTDIR)\lib\afs\TaAfsAppLib.lib \
test : $(EXEFILE)
+
+mkdir:
+
############################################################################
LIBOBJS = \
- c_debug.obj \
- c_ident.obj \
- c_identlist.obj \
- c_cell.obj \
- c_svr.obj \
- c_svc.obj \
- c_agg.obj \
- c_set.obj \
- c_usr.obj \
- c_grp.obj \
- c_notify.obj \
- afsclassfn.obj \
- internal.obj \
- worker.obj
+ $(OJT)\c_debug.obj \
+ $(OJT)\c_ident.obj \
+ $(OJT)\c_identlist.obj \
+ $(OJT)\c_cell.obj \
+ $(OJT)\c_svr.obj \
+ $(OJT)\c_svc.obj \
+ $(OJT)\c_agg.obj \
+ $(OJT)\c_set.obj \
+ $(OJT)\c_usr.obj \
+ $(OJT)\c_grp.obj \
+ $(OJT)\c_notify.obj \
+ $(OJT)\afsclassfn.obj \
+ $(OJT)\internal.obj \
+ $(OJT)\worker.obj
LIBINCLUDES = \
$(DESTDIR)\include\winnt\afsclass.h \
clean::
+
+mkdir:
+
$(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 \
$(INCFILEDIR)\afsmsg95.h \
$(INCFILEDIR)\afsrpc.h \
$(INCFILEDIR)\cm_dns.h \
+!IFDEF OSICRASH
+ $(INCFILEDIR)\afsdcrash.h \
+!ENDIF
$(INCFILEDIR)\cm_dns_private.h
IDLFILES =\
- afsrpc.h afsrpc_c.obj
+ afsrpc.h $(OJT)\afsrpc_c.c
+
+CONFOBJS=$(OJT)\cm_config.obj \
+ $(OJT)\cm_dns.obj
+
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
+
+RX= ..\..\rx
+
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
+
+$(IDLFILES):afsrpc.idl
+ midl $(MIDL_FLAGS) $(AFSDEV_AUXMIDLFLAGS) /app_config $?
-CONFOBJS=cm_config.obj \
- cm_dns.obj
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
+ $(OJT)\afsd_init.obj \
+ $(OJT)\cm_cell.obj \
+ $(OJT)\cm_server.obj \
+ $(OJT)\cm_volume.obj \
+ $(OJT)\cm_conn.obj \
+ $(OJT)\cm_user.obj \
+ $(OJT)\cm_buf.obj \
+ $(OJT)\cm_scache.obj \
+ $(OJT)\cm_dcache.obj \
+ $(OJT)\cm_access.obj \
+ $(OJT)\cm_callback.obj \
+ $(OJT)\cm_vnodeops.obj \
+ $(OJT)\cm_dir.obj \
+ $(OJT)\cm_utils.obj \
+ $(OJT)\smb.obj \
+ $(OJT)\smb3.obj \
+ $(OJT)\smb_ioctl.obj \
+ $(OJT)\cm_ioctl.obj \
+ $(OJT)\cm_daemon.obj \
+ $(OJT)\cm_aclent.obj \
+ $(OJT)\cm_dnlc.obj \
+ $(OJT)\cm_rpc.obj \
+ $(OJT)\afsrpc_s.obj \
+!IFDEF OSICRASH
+ $(OJT)\afsdcrash.obj \
+!ENDIF
+ $(OJT)\cm_freelance.obj
+
+$(OJT)\cm_conn.obj: cm_conn.c
$(C2OBJ) -DAFS_PTHREAD_ENV $**
-FSOBJS=fs.obj fs_utils.obj
+FSOBJS=$(OJT)\fs.obj $(OJT)\fs_utils.obj
-SLOBJS=symlink.obj fs_utils.obj
+SLOBJS=$(OJT)\symlink.obj $(OJT)\fs_utils.obj
ILIBDIR = $(DESTDIR)\lib
# Flags for linking LOGON DLL'S
#
-LOGONLINKFLAGS = -entry:DllEntryPoint
+LOGONLINKFLAGS = -entry:DllEntryPoint /NODEFAULTLIB:msvcr70d.lib /NODEFAULTLIB:msvcrtd.lib msvcrt.lib
+
############################################################################
#
.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_DLLFILE): $(CONFOBJS) libafsconf.res
+$(CONF_DLLFILE): $(CONFOBJS) $(OJT)\libafsconf.res
$(DLLGUILINK) -def:libafsconf.def
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
LOGON_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslogon.dll
LOGON_DLLOBJS =\
- afslogon.obj \
- afslogon.res
+ $(OJT)\afslogon.obj \
+ $(OJT)\afslogon.res
LOGON_DLLLIBS =\
$(DESTDIR)\lib\afsauthent.lib \
LOG95_DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afslog95.dll
LOG95_DLLOBJS =\
- afslog95.obj \
- afslog95.res
+ $(OJT)\afslog95.obj \
+ $(OJT)\afslog95.res
LOG95_DLLLIBS =\
$(DESTDIR)\lib\afsauthent.lib \
############################################################################
# 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: $(OJT)\cm_dns.obj $(OJT)\cm_config.obj
+ $(COPY) $(OJT)\cm_dns.obj $(DESTDIR)\lib
+ $(COPY) $(OJT)\cm_config.obj $(DESTDIR)\lib
install_headers: $(IDLFILES) $(INCFILES)
$(DESTDIR)\lib\libosi.lib \
$(DESTDIR)\lib\libafsconf.lib
-
# klog.exe
-$(EXEDIR)\klog.exe: cklog.obj klog.res
+$(EXEDIR)\klog.exe: $(OJT)\cklog.obj $(OJT)\klog.res
$(EXECONLINK) $(EXELIBS)
$(EXEPREP)
# tokens.exe
-$(EXEDIR)\tokens.exe: ctokens.obj tokens.res
+$(EXEDIR)\tokens.exe: $(OJT)\ctokens.obj $(OJT)\tokens.res
$(EXECONLINK) $(EXELIBS)
$(EXEPREP)
# unlog.exe
-$(EXEDIR)\unlog.exe: cunlog.obj unlog.res
+$(EXEDIR)\unlog.exe: $(OJT)\cunlog.obj $(OJT)\unlog.res
$(EXECONLINK) $(EXELIBS)
$(EXEPREP)
$(DESTDIR)\lib\afs\mtafsint.lib \
$(DESTDIR)\lib\libafsconf.lib \
$(DESTDIR)\lib\afs\afsreg.lib \
+ $(DESTDIR)\lib\libosi.lib \
rpcrt4.lib \
user32.lib
-$(AFSD_EXEFILE): afsd.obj $(AFSDOBJS) afsd.res
+$(AFSD_EXEFILE): $(OJT)\afsd.obj $(AFSDOBJS) $(OJT)\afsd.res $(RXOBJS)
$(EXEGUILINK) $(AFSD_EXELIBS)
$(EXEPREP)
# afsd_service.exe
-$(EXEDIR)\afsd_service.exe: afsd_service.obj $(AFSDOBJS) afsd_service.res
+$(EXEDIR)\afsd_service.exe: $(OJT)\afsd_service.obj $(AFSDOBJS) $(OJT)\afsd_service.res $(RXOBJS)
$(EXECONLINK) $(AFSD_EXELIBS)
$(EXEPREP)
# fs.exe
-$(EXEDIR)\fs.exe: $(FSOBJS) fs.res
+$(EXEDIR)\fs.exe: $(FSOBJS) $(OJT)\fs.res
$(EXECONLINK) $(EXELIBS)
$(EXEPREP)
# symlink.exe
-$(EXEDIR)\symlink.exe: $(SLOBJS) symlink.res
+$(EXEDIR)\symlink.exe: $(SLOBJS) $(OJT)\symlink.res
$(EXECONLINK) $(EXELIBS)
$(EXEPREP)
# afsshare.exe
-$(EXEDIR)\afsshare.exe: afsshare.obj afsshare.res
+$(EXEDIR)\afsshare.exe: $(OJT)\afsshare.obj $(OJT)\afsshare.res
$(EXECONLINK)
$(EXEPREP)
KAUTH = ..\..\kauth
KPASSWD_OBJS =\
- kpasswd.obj \
- kkids.obj \
- kautils.obj \
- $(KAUTH)\kpasswd.res
+ $(OJT)\kpasswd.obj \
+ $(OJT)\kkids.obj \
+ $(OJT)\kautils.obj \
+ $(OJT)\$(KAUTH)\kpasswd.res
KPASSWD_LIBS =\
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsdes.lib \
$(DESTDIR)\lib\afs\afsutil.lib
-kpasswd.obj: $(KAUTH)/kpasswd.c
+$(OJT)\kpasswd.obj: $(KAUTH)/kpasswd.c
$(C2OBJ) -DAFS_PTHREAD_ENV $**
-kkids.obj: $(KAUTH)/kkids.c
+$(OJT)\kkids.obj: $(KAUTH)/kkids.c
$(C2OBJ) -DAFS_PTHREAD_ENV $**
-kautils.obj: $(KAUTH)/kautils.c
+$(OJT)\kautils.obj: $(KAUTH)/kautils.c
$(C2OBJ) -DAFS_PTHREAD_ENV $**
$(DESTDIR)\bin\kpasswd.exe: $(KPASSWD_OBJS) $(KPASSWD_LIBS)
############################################################################
# generate versioninfo resources
-afsshare.res: afsshare.rc AFS_component_version_number.h
+$(OJT)\afsshare.res: AFS_component_version_number.h
-fs.res: fs.rc AFS_component_version_number.h
+$(OJT)\fs.res: AFS_component_version_number.h
-symlink.res: symlink.rc AFS_component_version_number.h
+$(OJT)\symlink.res: AFS_component_version_number.h
-klog.res: klog.rc AFS_component_version_number.h
+$(OJT)\klog.res: AFS_component_version_number.h
-tokens.res: tokens.rc AFS_component_version_number.h
+$(OJT)\tokens.res: AFS_component_version_number.h
-unlog.res: unlog.rc AFS_component_version_number.h
+$(OJT)\unlog.res: AFS_component_version_number.h
-afsd_service.res: afsd_service.rc AFS_component_version_number.h
+$(OJT)\afsd_service.res: AFS_component_version_number.h
-afslogon.res: afslogon.rc AFS_component_version_number.h
+$(OJT)\afslogon.res: AFS_component_version_number.h
-afslog95.res: afslog95.rc AFS_component_version_number.h
+$(OJT)\afslog95.res: AFS_component_version_number.h
-libafsconf.res: libafsconf.rc AFS_component_version_number.h
+$(OJT)\libafsconf.res: AFS_component_version_number.h
clean::
- $(DEL) *.res
+ $(DEL) $(OJT)\*.res
$(DEL) afsrpc.h
$(DEL) afsrpc_?.*
- $(DEL) $(EXELIBS)
+ $(DEL) $(CONF_DLLFILE)
+ $(DEL) $(LOGON_DLLFILE)
+ $(DEL) $(LOG95_DLLFILE)
+
+mkdir:
+
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
+#include <winnt/osi_malloc.h>
HANDLE main_inst;
#include <stdio.h>
#include <stdlib.h>
#include <winsock2.h>
+#include <winnt/osi_malloc.h>
#include <osi.h>
\r
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
+#include <winnt/osi_malloc.h>
DWORD LogonOption,TraceOption;
#include <malloc.h>
#include <stdio.h>
#include <assert.h>
+#include <winnt/osi_malloc.h>
#include "afsd.h"
/* XXXX */
return RXGEN_OPCODE;
}
+
+/* debug interface: not implemented */
+int SRXAFSCB_GetCellByNum(struct rx_call *a_call, afs_int32 a_cellnum,
+ char **a_name, serverList *a_hosts)
+{
+ /* XXXX */
+ return RXGEN_OPCODE;
+}
return code;
}
+long cm_IoctlIslink(struct smb_ioctl *ioctlp, struct cm_user *userp)
+{/*CHECK FOR VALID SYMLINK*/
+ long code;
+ cm_scache_t *dscp;
+ cm_scache_t *scp;
+ char *cp;
+ cm_space_t *spacep;
+ cm_scache_t *newRootScp;
+ cm_req_t req;
+
+ cm_InitReq(&req);
+
+ code = cm_ParseIoctlPath(ioctlp, userp, &req, &dscp);
+ if (code) return code;
+
+ cp = ioctlp->inDatap;
+ osi_LogEvent("cm_IoctlListlink",NULL," name[%s]",cp);
+
+ code = cm_Lookup(dscp, cp, CM_FLAG_NOMOUNTCHASE, userp, &req, &scp);
+ cm_ReleaseSCache(dscp);
+ if (code) return code;
+
+ /* Check that it's a real symlink */
+ if (scp->fileType != CM_SCACHETYPE_SYMLINK)
+ code = CM_ERROR_INVAL;
+ cm_ReleaseSCache(scp);
+ return code;
+}
+
long cm_IoctlDeletelink(struct smb_ioctl *ioctlp, struct cm_user *userp)
{
long code;
extern long cm_IoctlSymlink(smb_ioctl_t *ioctlp, cm_user_t *userp);
+extern long cm_IoctlIslink(smb_ioctl_t *ioctlp, cm_user_t *userp);
+
extern long cm_IoctlListlink(smb_ioctl_t *ioctlp, cm_user_t *userp);
extern long cm_IoctlDeletelink(smb_ioctl_t *ioctlp, cm_user_t *userp);
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include <afs/param.h>
-#include <afs/stds.h>
+#include <afs\param.h>
+#include <afs\stds.h>
#include <windows.h>
#include <stdlib.h>
#include "afsd.h"
#include "smb.h"
#include "cmd.h"
-#include "fs_utils.h"
+#include <fs_utils.h>
long fs_ExtractDriveLetter(char *inPathp, char *outPathp)
/* Fake error code since NT errno.h doesn't define it */
#include <afs/errmap_nt.h>
-extern char *hostutil_GetNameByINet(long addr);
+//extern char *hostutil_GetNameByINet(long addr);
+#ifndef hostutil_GetHostByName
extern struct hostent *hostutil_GetHostByName(char *namep);
+#endif
extern long util_GetInt32(char *stringp, long *valuep);
#include "afsd.h"
#include "smb.h"
+#include <winnt/osi_malloc.h>
/* These characters are illegal in Windows filenames */
static char *illegalChars = "\\/:*?\"<>|";
#define VIOCNEWGETTOK 0x1f
#define VIOCDELTOK 0x20
#define VIOCDELALLTOK 0x21
-
+#define VIOC_ISSYMLINK 0x22
#define VIOC_SYMLINK 0x23
#define VIOC_LISTSYMLINK 0x24
#define VIOC_DELSYMLINK 0x25
smb_ioctlProcsp[VIOC_MAKESUBMOUNT] = cm_IoctlMakeSubmount;
smb_ioctlProcsp[VIOC_GETRXKCRYPT] = cm_IoctlGetRxkcrypt;
smb_ioctlProcsp[VIOC_SETRXKCRYPT] = cm_IoctlSetRxkcrypt;
+ smb_ioctlProcsp[VIOC_ISSYMLINK] = cm_IoctlIslink;
#ifdef DJGPP
smb_ioctlProcsp[VIOC_SHUTDOWN] = cm_IoctlShutdown;
#endif
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\afslegal.exe
EXEOBJS = \
- afslegal_stub.res \
- afslegal.obj
+ $(OJT)\afslegal_stub.res \
+ $(OJT)\afslegal.obj
EXELIBS = \
$(DESTDIR)\lib\afs\talocale.lib \
############################################################################
# Dependencies
-afslegal_stub.res : afslegal_stub.rc AFS_component_version_number.h
+$(OJT)\afslegal_stub.res : AFS_component_version_number.h
+
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
+
RCFILE = $(LANGNAME)\afslegal.rc
-RESFILE = afslegal_$(LANGID).res
+RESFILE = $(OJT)\afslegal_$(LANGID).res
DLLOBJS = $(RESFILE)
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
$(DESTDIR)\include\WINNT\afsreg.h \
$(DESTDIR)\include\WINNT\syscfg.h \
$(DESTDIR)\include\WINNT\afssw.h \
+ $(DESTDIR)\include\WINNT\osi_malloc.h \
$(DESTDIR)\include\WINNT\vptab.h
+
LIBFILE = $(DESTDIR)\lib\afs\afsreg.lib
LIBOBJS = \
- afsreg.obj \
- syscfg.obj \
- afssw.obj \
- vptab.obj
+ $(OJT)\afsreg.obj \
+ $(OJT)\syscfg.obj \
+ $(OJT)\afssw.obj \
+ $(OJT)\vptab.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
-test tests: getifinfo.exe regman.exe dupkey.exe
+test tests: $(OJT)\getifinfo.exe $(OJT)\regman.exe $(OJT)\dupkey.exe
-getifinfo.exe: getifinfo.obj $(DESTDIR)\lib\afs\afsreg.lib
+$(OJT)\getifinfo.exe: $(OJT)\getifinfo.obj $(DESTDIR)\lib\afs\afsreg.lib
$(EXECONLINK)
-dupkey.exe: dupkey.obj $(DESTDIR)\lib\afs\afsreg.lib
+$(OJT)\dupkey.exe: $(OJT)\dupkey.obj $(DESTDIR)\lib\afs\afsreg.lib
$(EXECONLINK)
REGMAN_EXELIBS =\
$(DESTDIR)\lib\afs\afscom_err.lib \
$(DESTDIR)\lib\afs\afsutil.lib
-regman.exe: regman.obj $(REGMAN_EXELIBS)
+$(OJT)\regman.exe: $(OJT)\regman.obj $(REGMAN_EXELIBS)
$(EXECONLINK)
+
+mkdir:
+
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\afssvrcfg.exe
EXEOBJS =\
- char_conv.obj \
- admin_info_dlg.obj \
- cfg_utils.obj \
- create_partition_dlg.obj \
- file_server_page.obj \
- graphics.obj \
- info_page.obj \
- intro_page.obj \
- partitions_page.obj \
- partition_page.obj \
- replicatition_page.obj \
- services_page.obj \
- toolbox.obj \
- afscfg.obj \
- backup_server_page.obj \
- config_server_page.obj \
- db_server_page.obj \
- get_cur_config.obj \
- help.obj \
- info2_page.obj \
- logfile.obj \
- partition_utils.obj \
- root_afs_page.obj \
- sys_control_page.obj \
- volume_utils.obj \
- salvage_dlg.obj \
- get_pw_dlg.obj \
- salvage_results_dlg.obj \
- validation.obj \
- afscfg_stub.res
+ $(OJT)\char_conv.obj \
+ $(OJT)\admin_info_dlg.obj \
+ $(OJT)\cfg_utils.obj \
+ $(OJT)\create_partition_dlg.obj \
+ $(OJT)\file_server_page.obj \
+ $(OJT)\graphics.obj \
+ $(OJT)\info_page.obj \
+ $(OJT)\intro_page.obj \
+ $(OJT)\partitions_page.obj \
+ $(OJT)\partition_page.obj \
+ $(OJT)\replicatition_page.obj \
+ $(OJT)\services_page.obj \
+ $(OJT)\toolbox.obj \
+ $(OJT)\afscfg.obj \
+ $(OJT)\backup_server_page.obj \
+ $(OJT)\config_server_page.obj \
+ $(OJT)\db_server_page.obj \
+ $(OJT)\get_cur_config.obj \
+ $(OJT)\help.obj \
+ $(OJT)\info2_page.obj \
+ $(OJT)\logfile.obj \
+ $(OJT)\partition_utils.obj \
+ $(OJT)\root_afs_page.obj \
+ $(OJT)\sys_control_page.obj \
+ $(OJT)\volume_utils.obj \
+ $(OJT)\salvage_dlg.obj \
+ $(OJT)\get_pw_dlg.obj \
+ $(OJT)\salvage_results_dlg.obj \
+ $(OJT)\validation.obj \
+ $(OJT)\afscfg_stub.res
VCLIBS =\
comctl32.lib \
############################################################################
# Definitions for generating versioninfo resource via RC
-afscfg_stub.res: afscfg_stub.rc AFS_component_version_number.h
- $(RC) $*.rc
-
+$(OJT)\afscfg_stub.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
clean::
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
+
RCFILE = $(LANGNAME)\afscfg.rc
-RESFILE = afscfg_$(LANGID).res
+RESFILE = $(OJT)\afscfg_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- @if exist *.res del *.res
+ @if exist $(OJT)\*.res del $(OJT)\*.res
@if exist RC*. del RC*.
@if exist RD*. del RD*.
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\afsserver.cpl
DLLOBJS =\
- afssvrcpa_stub.res \
- cpl_interface.obj \
- AFS_component_version_number.obj
+ $(OJT)\cpl_interface.obj \
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\afssvrcpa_stub.res
DLLLIBS =\
$(DESTDIR)\lib\afs\afsreg.lib \
############################################################################
# Definitions for generating versioninfo resource via RC
-afssvrcpa_stub.res: afssvrcpa_stub.rc AFS_component_version_number.h
- $(RC) $*.rc
-
+$(OJT)\afssvrcpa_stub.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
clean::
+
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
+
RCFILE = $(LANGNAME)\afssvrcpa.rc
-RESFILE = afssvrcpa_$(LANGID).res
+RESFILE = $(OJT)\afssvrcpa_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- @if exist *.res del *.res
+ @if exist $(OJT)\*.res del $(OJT)\*.res
@if exist RC*. del RC*.
@if exist RD*. del RD*.
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\TaAfsServerManager.exe
EXEOBJS = \
- svrmgr_stub.res \
- action.obj \
- agg_col.obj \
- agg_general.obj \
- agg_prop.obj \
- agg_tab.obj \
- alert.obj \
- cmdline.obj \
- columns.obj \
- command.obj \
- creds.obj \
- dispatch.obj \
- dispguts.obj \
- display.obj \
- general.obj \
- helpfunc.obj \
- options.obj \
- prefs.obj \
- problems.obj \
- propcache.obj \
- set_clone.obj \
- set_col.obj \
- set_create.obj \
- set_createrep.obj \
- set_delete.obj \
- set_dump.obj \
- set_general.obj \
- set_move.obj \
- set_prop.obj \
- set_quota.obj \
- set_release.obj \
- set_rename.obj \
- set_repprop.obj \
- set_restore.obj \
- set_tab.obj \
- subset.obj \
- svc_col.obj \
- svc_create.obj \
- svc_delete.obj \
- svc_general.obj \
- svc_prop.obj \
- svc_startstop.obj \
- svc_tab.obj \
- svc_viewlog.obj \
- svr_address.obj \
- svr_col.obj \
- svr_execute.obj \
- svr_general.obj \
- svr_getdates.obj \
- svr_hosts.obj \
- svr_install.obj \
- svr_prop.obj \
- svr_prune.obj \
- svr_salvage.obj \
- svr_security.obj \
- svr_syncvldb.obj \
- svr_uninstall.obj \
- svr_window.obj \
- svrmgr.obj \
- task.obj \
- window.obj
+ $(OJT)\svrmgr_stub.res \
+ $(OJT)\action.obj \
+ $(OJT)\agg_col.obj \
+ $(OJT)\agg_general.obj \
+ $(OJT)\agg_prop.obj \
+ $(OJT)\agg_tab.obj \
+ $(OJT)\alert.obj \
+ $(OJT)\cmdline.obj \
+ $(OJT)\columns.obj \
+ $(OJT)\command.obj \
+ $(OJT)\creds.obj \
+ $(OJT)\dispatch.obj \
+ $(OJT)\dispguts.obj \
+ $(OJT)\display.obj \
+ $(OJT)\general.obj \
+ $(OJT)\helpfunc.obj \
+ $(OJT)\options.obj \
+ $(OJT)\prefs.obj \
+ $(OJT)\problems.obj \
+ $(OJT)\propcache.obj \
+ $(OJT)\set_clone.obj \
+ $(OJT)\set_col.obj \
+ $(OJT)\set_create.obj \
+ $(OJT)\set_createrep.obj \
+ $(OJT)\set_delete.obj \
+ $(OJT)\set_dump.obj \
+ $(OJT)\set_general.obj \
+ $(OJT)\set_move.obj \
+ $(OJT)\set_prop.obj \
+ $(OJT)\set_quota.obj \
+ $(OJT)\set_release.obj \
+ $(OJT)\set_rename.obj \
+ $(OJT)\set_repprop.obj \
+ $(OJT)\set_restore.obj \
+ $(OJT)\set_tab.obj \
+ $(OJT)\subset.obj \
+ $(OJT)\svc_col.obj \
+ $(OJT)\svc_create.obj \
+ $(OJT)\svc_delete.obj \
+ $(OJT)\svc_general.obj \
+ $(OJT)\svc_prop.obj \
+ $(OJT)\svc_startstop.obj \
+ $(OJT)\svc_tab.obj \
+ $(OJT)\svc_viewlog.obj \
+ $(OJT)\svr_address.obj \
+ $(OJT)\svr_col.obj \
+ $(OJT)\svr_execute.obj \
+ $(OJT)\svr_general.obj \
+ $(OJT)\svr_getdates.obj \
+ $(OJT)\svr_hosts.obj \
+ $(OJT)\svr_install.obj \
+ $(OJT)\svr_prop.obj \
+ $(OJT)\svr_prune.obj \
+ $(OJT)\svr_salvage.obj \
+ $(OJT)\svr_security.obj \
+ $(OJT)\svr_syncvldb.obj \
+ $(OJT)\svr_uninstall.obj \
+ $(OJT)\svr_window.obj \
+ $(OJT)\svrmgr.obj \
+ $(OJT)\task.obj \
+ $(OJT)\window.obj
VCLIBS =\
comctl32.lib \
# Dependencies
#
-svrmgr_stub.res : svrmgr_stub.rc AFS_component_version_number.h
+$(OJT)\svrmgr_stub.res : AFS_component_version_number.h
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
+
RCFILE = $(LANGNAME)\svrmgr.rc
-RESFILE = svrmgr_$(LANGID).res
+RESFILE = $(OJT)\svrmgr_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- @if exist *.res del *.res
+ @if exist $(OJT)\*.res del $(OJT)\*.res
@if exist RC*. del RC*.
@if exist RD*. del RD*.
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\TaAfsAccountManager.exe
EXEOBJS = \
- AfsUsrMgr_stub.res \
- action.obj \
- browse.obj \
- cell_prop.obj \
- cmdline.obj \
- columns.obj \
- command.obj \
- creds.obj \
- display.obj \
- errdata.obj \
- general.obj \
- grp_col.obj \
- grp_create.obj \
- grp_delete.obj \
- grp_prop.obj \
- grp_rename.obj \
- grp_tab.obj \
- helpfunc.obj \
- main.obj \
- mch_col.obj \
- mch_create.obj \
- mch_delete.obj \
- mch_tab.obj \
- options.obj \
- task.obj \
- usr_col.obj \
- usr_cpw.obj \
- usr_create.obj \
- usr_delete.obj \
- usr_prop.obj \
- usr_search.obj \
- usr_tab.obj \
- window.obj \
- winlist.obj
+ $(OJT)\AfsUsrMgr_stub.res \
+ $(OJT)\action.obj \
+ $(OJT)\browse.obj \
+ $(OJT)\cell_prop.obj \
+ $(OJT)\cmdline.obj \
+ $(OJT)\columns.obj \
+ $(OJT)\command.obj \
+ $(OJT)\creds.obj \
+ $(OJT)\display.obj \
+ $(OJT)\errdata.obj \
+ $(OJT)\general.obj \
+ $(OJT)\grp_col.obj \
+ $(OJT)\grp_create.obj \
+ $(OJT)\grp_delete.obj \
+ $(OJT)\grp_prop.obj \
+ $(OJT)\grp_rename.obj \
+ $(OJT)\grp_tab.obj \
+ $(OJT)\helpfunc.obj \
+ $(OJT)\main.obj \
+ $(OJT)\mch_col.obj \
+ $(OJT)\mch_create.obj \
+ $(OJT)\mch_delete.obj \
+ $(OJT)\mch_tab.obj \
+ $(OJT)\options.obj \
+ $(OJT)\task.obj \
+ $(OJT)\usr_col.obj \
+ $(OJT)\usr_cpw.obj \
+ $(OJT)\usr_create.obj \
+ $(OJT)\usr_delete.obj \
+ $(OJT)\usr_prop.obj \
+ $(OJT)\usr_search.obj \
+ $(OJT)\usr_tab.obj \
+ $(OJT)\window.obj \
+ $(OJT)\winlist.obj
VCLIBS =\
comctl32.lib \
# Dependencies
#
-AfsUsrMgr_stub.res : AfsUsrMgr_stub.rc AFS_component_version_number.h
+$(OJT)\AfsUsrMgr_stub.res : AFS_component_version_number.h
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
+
RCFILE = $(LANGNAME)\AfsUsrMgr.rc
-RESFILE = AfsUsrMgr_$(LANGID).res
+RESFILE = $(OJT)\AfsUsrMgr_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- @if exist *.res del *.res
+ @if exist $(OJT)\*.res del $(OJT)\*.res
@if exist RC*. del RC*.
@if exist RD*. del RD*.
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\bosctlsvc.exe
EXEOBJS =\
- bosctlsvc.obj \
- bosctlsvc.res
+ $(OJT)\bosctlsvc.obj \
+ $(OJT)\bosctlsvc.res
EXELIBS =\
$(DESTDIR)\lib\afs\afsutil.lib \
############################################################################
# Definitions for generating versioninfo resource via RC
-bosctlsvc.res: bosctlsvc.rc AFS_component_version_number.h
-# $(RC) $*.rc
+$(OJT)\bosctlsvc.res: AFS_component_version_number.h
############################################################################
# Local clean target; augments predefined clean target
clean::
+
+mkdir:
EXEFILE = $(DESTDIR)\root.client\usr\vice\etc\afs_config.exe
EXEOBJS = \
- afs_config_stub.res \
- cellservdb.obj \
- checklist.obj \
- config.obj \
- ctl_sockaddr.obj \
- ctl_spinner.obj \
- dialog.obj \
- drivemap.obj \
- fastlist.obj \
- fs_utils.obj \
- hashlist.obj \
- isadmin.obj \
- main.obj \
- misc.obj \
- pagesize.obj \
- resize.obj \
- subclass.obj \
- tab_advanced.obj \
- tab_drives.obj \
- tab_hosts.obj \
- tab_general.obj \
- tab_prefs.obj \
- dlg_misc.obj \
- dlg_logon.obj \
- dlg_diag.obj \
- dlg_automap.obj
+ $(OJT)\config.obj \
+ $(OJT)\drivemap.obj \
+ $(OJT)\main.obj \
+ $(OJT)\misc.obj \
+ $(OJT)\pagesize.obj \
+ $(OJT)\tab_advanced.obj \
+ $(OJT)\tab_drives.obj \
+ $(OJT)\tab_hosts.obj \
+ $(OJT)\tab_general.obj \
+ $(OJT)\tab_prefs.obj \
+ $(OJT)\dlg_logon.obj \
+ $(OJT)\dlg_diag.obj \
+ $(OJT)\dlg_misc.obj \
+ $(OJT)\isadmin.obj \
+ $(OJT)\dlg_automap.obj
+
+EXEOBJSc = \
+ $(OJT)\cellservdb.obj
+
+EXERES = \
+ $(OJT)\afs_config_stub.res
+
+AFSDOBJS = \
+ $(OJT)\fs_utils.obj
+
+AFSD= ..\afsd
VCLIBS =\
comctl32.lib \
$(DESTDIR)\lib\afs\TaLocale.lib \
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afsauthent.lib \
+ $(DESTDIR)\lib\libosi.lib \
$(DESTDIR)\lib\libafsconf.lib
############################################################################
$(DESTDIR)\include\WINNT\resize.h \
$(DESTDIR)\include\WINNT\subclass.h
-COPYSOURCES = \
- .\checklist.cpp \
- .\checklist.h \
- .\ctl_sockaddr.cpp \
- .\ctl_sockaddr.h \
- .\ctl_spinner.cpp \
- .\ctl_spinner.h \
- .\dialog.cpp \
- .\dialog.h \
- .\fastlist.cpp \
- .\fastlist.h \
- .\fs_utils.c \
- .\hashlist.cpp \
- .\hashlist.h \
- .\resize.cpp \
- .\resize.h \
- .\subclass.cpp \
- .\subclass.h
+AFSAPPLIBOBJS= \
+ $(OJT)\hashlist.obj \
+ $(OJT)\resize.obj \
+ $(OJT)\subclass.obj \
+ $(OJT)\fastlist.obj \
+ $(OJT)\dialog.obj \
+ $(OJT)\ctl_sockaddr.obj \
+ $(OJT)\ctl_spinner.obj \
+ $(OJT)\checklist.obj
+
+AFSAPPLIB=..\afsapplib
+
+$(AFSAPPLIBOBJS): $(AFSAPPLIB)\$$(@B).cpp
+ $(C2OBJ) -I$(AFSAPPLIB) $**
+
+$(AFSDOBJS): $(AFSD)\$$(@B).c
+ $(C2OBJ) -I$(AFSD) $**
+
+$(EXEOBJS): $$(@B).cpp
+ $(C2OBJ) -I$(AFSAPPLIB) $**
+
+$(EXEOBJSc): $$(@B).c
+ $(CPP2OBJ) -I$(AFSAPPLIB) $**
############################################################################
{..\afsapplib}.h{$(DESTDIR)\include\WINNT}.h:
$(COPY) ..\afsapplib\$(*B).h $(DESTDIR)\include\WINNT
-{..\afsapplib}.h{.\}.h:
- $(COPY) ..\afsapplib\$(*B).h .
-
-{..\afsapplib}.cpp{.\}.cpp:
- $(COPY) ..\afsapplib\$(*B).cpp .
-
-{..\afsd}.c{.\}.c:
- $(COPY) ..\afsd\$(*B).c .
############################################################################
-$(EXEFILE) : $(EXEOBJS) $(EXELIBS)
+$(EXEFILE) : $(EXEOBJS) $(EXEOBJSc) $(EXERES) $(AFSAPPLIBOBJS) $(AFSDOBJS) $(EXELIBS)
$(EXEGUILINK) $(VCLIBS)
$(EXEPREP)
-install : $(COPYSOURCES) $(COPYHEADERS) $(EXEFILE) lang
+install : $(COPYHEADERS) $(EXEFILE) lang
install9x: install
@$(NTLANG) $@ $(MAKECMD) /nologo /f NTMakefile install
$(CD) ..
-afs_config_stub.res : afs_config_stub.rc AFS_component_version_number.h
+$(OJT)\afs_config_stub.res : AFS_component_version_number.h
clean::
+ $(DEL) $(COPYHEADERS)
$(CD) lang
if exist $(NTLANG) $(NTLANG) en_US $(MAKECMD) /nologo /f NTMakefile clean
if exist $(NTLANG) $(NTLANG) ja_JP $(MAKECMD) /nologo /f NTMakefile clean
if exist $(NTLANG) $(NTLANG) es_ES $(MAKECMD) /nologo /f NTMakefile clean
if exist $(NTLANG) $(NTLANG) de_DE $(MAKECMD) /nologo /f NTMakefile clean
$(CD) ..
+
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
#include <time.h>
#include <adssts.h>
#include <osilog.h>
+#include <winnt/osi_malloc.h>
/*
* REGISTRY ___________________________________________________________________
RCFILE = $(LANGNAME)\afs_config.rc
-RESFILE = afs_config_$(LANGID).res
+RESFILE = $(OJT)\afs_config_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- $(DEL) *.res RC* RD* $(DLLFILE) $(DEL) $(DLLFILE)
+ $(DEL) $(OJT)\*.res RC* RD* $(DLLFILE)
############################################################################
#
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afs_cpa.cpl
DLLOBJS =\
- afs_cpa_stub.res \
- cpl_interface.obj \
- AFS_component_version_number.obj
+ $(OJT)\cpl_interface.obj \
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\afs_cpa_stub.res
DLLLIBS =\
$(DESTDIR)\lib\afs\TaLocale.lib \
+ $(DESTDIR)\lib\libosi.lib \
comctl32.lib
DEFFILE = afs_cpa.def
############################################################################
# Dependencies
-afs_cpa_stub.res : afs_cpa_stub.rc AFS_component_version_number.h
+$(OJT)\afs_cpa_stub.res : AFS_component_version_number.h
en_US:
$(CD) lang
@$(NTLANG) $@ $(MAKECMD) /nologo /f NTMakefile install
$(CD) ..
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
RCFILE = $(LANGNAME)\afs_cpa.rc
-RESFILE = afs_cpa_$(LANGID).res
+RESFILE = $(OJT)\afs_cpa_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- $(DEL) *.res RC* RD* $(DLLFILE) $(DEL) $(DLLFILE)
+ $(DEL) *.res RC* RD* $(DLLFILE)
############################################################################
#
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
-# make compiler warnings fatal
-
-AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -WX
-
# include the AFSD source tree on our inclusion path
-AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -I ..\afsd
+AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -I ..\afsd -I..\client_config
# include the primary makefile
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
EXEFILE = $(DESTDIR)\root.client\usr\vice\etc\afscreds.exe
EXEOBJS = \
- afscreds_stub.res \
- advtab.obj \
- afswiz.obj \
- al_wizard.obj \
- checklist.obj \
- creds.obj \
- credstab.obj \
- drivemap.obj \
- fs_utils.obj \
- main.obj \
- misc.obj \
- mounttab.obj \
- settings.obj \
- shortcut.obj \
- subclass.obj \
- trayicon.obj \
- window.obj
+ $(OJT)\advtab.obj \
+ $(OJT)\afswiz.obj \
+ $(OJT)\creds.obj \
+ $(OJT)\main.obj \
+ $(OJT)\misc.obj \
+ $(OJT)\credstab.obj \
+ $(OJT)\mounttab.obj \
+ $(OJT)\settings.obj \
+ $(OJT)\shortcut.obj \
+ $(OJT)\trayicon.obj \
+ $(OJT)\window.obj
+
+EXERES = \
+ $(OJT)\afscreds_stub.res
+
+AFSDOBJS = \
+ $(OJT)\fs_utils.obj
+
+AFSAPPLIBOBJS= \
+ $(OJT)\checklist.obj \
+ $(OJT)\al_wizard.obj \
+ $(OJT)\subclass.obj
+
+CLIENTOBJS = \
+ $(OJT)\drivemap.obj
VCLIBS =\
comctl32.lib \
EXELIBS = \
$(DESTDIR)\lib\afs\afspioctl.lib \
+ $(DESTDIR)\lib\libosi.lib \
$(DESTDIR)\lib\afs\TaLocale.lib
############################################################################
$(DESTDIR)\include\WINNT\checklist.h \
$(DESTDIR)\include\WINNT\subclass.h
-COPYSOURCES = \
- .\al_wizard.cpp \
- .\al_wizard.h \
- .\checklist.cpp \
- .\checklist.h \
- .\drivemap.cpp \
- .\drivemap.h \
- .\fs_utils.c \
- .\subclass.cpp \
- .\subclass.h
-
############################################################################
-{..\afsd}.c{.\}.c:
- $(COPY) ..\afsd\$(*B).c .
+AFSD = ..\afsd
+AFSAPPLIB=..\afsapplib
+CLIENT= ..\client_config
-{..\afsapplib}.h{.\}.h:
- $(COPY) ..\afsapplib\$(*B).h .
+$(CLIENTOBJS): $(CLIENT)\$$(@B).cpp
+ $(C2OBJ) -I$*(*D) $**
-{..\afsapplib}.cpp{.\}.cpp:
- $(COPY) ..\afsapplib\$(*B).cpp .
+$(AFSAPPLIBOBJS): $(AFSAPPLIB)\$$(@B).cpp
+ $(C2OBJ) -I$*(*D) $**
-{..\client_config}.h{.\}.h:
- $(COPY) ..\client_config\$(*B).h .
-
-{..\client_config}.cpp{.\}.cpp:
- $(COPY) ..\client_config\$(*B).cpp .
+$(AFSDOBJS): $(AFSD)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+$(EXEOBJS): $$(@B).cpp
+ $(C2OBJ) -I$*(*D) -I$(AFSAPPLIB) $**
############################################################################
-$(EXEFILE) : $(EXEOBJS) $(EXELIBS)
+$(EXEFILE) : $(EXEOBJS) $(EXERES) $(AFSAPPLIBOBJS) $(AFSDOBJS) $(CLIENTOBJS) $(EXELIBS)
$(EXEGUILINK) $(VCLIBS)
$(EXEPREP)
-install : $(COPYSOURCES) $(COPYHEADERS) $(EXEFILE) lang
+install : $(COPYHEADERS) $(EXEFILE) lang
lang ::
$(CD) lang
# Dependencies
#
-afscreds_stub.res : afscreds_stub.rc AFS_component_version_number.h
+$(OJT)\afscreds_stub.res : afscreds_stub.rc AFS_component_version_number.h
+
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
RCFILE = $(LANGNAME)\afscreds.rc
-RESFILE = afscreds_$(LANGID).res
+RESFILE = $(OJT)\afscreds_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- $(DEL) *.res RC* RD* $(DLLFILE) $(DEL) $(DLLFILE)
+ $(DEL) $(OJT)\*.res RC* RD* $(DLLFILE)
############################################################################
#
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
#include <windowsx.h>
#include <shlobj.h>
#include <shellapi.h>
+#include <shobjidl.h>
+#include <shlguid.h>
#include "shortcut.h"
AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -I..\afsd /D"_WINDOWS" /D"_WINDLL" /D"_AFXDLL" /D"_USRDLL"
+NO_CRTDBG=1 #define this to disable any CRT_DBG flag
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
!include ..\..\config\NTMakefile.version
DLLFILE = $(DESTDIR)\root.client\usr\vice\etc\afs_shl_ext.dll
DLLOBJS =\
- add_acl_entry_dlg.obj \
- add_submount_dlg.obj \
- afs_shl_ext.obj \
- afs_shl_ext_stub.res \
- auth_dlg.obj \
- clear_acl_dlg.obj \
- copy_acl_dlg.obj \
- down_servers_dlg.obj \
- fs_utils.obj \
- gui2fs.obj \
- help.obj \
- klog_dlg.obj \
- make_mount_point_dlg.obj \
- mount_points_dlg.obj \
- msgs.obj \
- partition_info_dlg.obj \
- results_dlg.obj \
- server_status_dlg.obj \
- set_afs_acl.obj \
- shell_ext.obj \
- stdafx.obj \
- submount_info.obj \
- submounts_dlg.obj \
- unlog_dlg.obj \
- volumeinfo.obj \
- AFS_component_version_number.obj
+ $(OJT)\add_acl_entry_dlg.obj \
+ $(OJT)\add_submount_dlg.obj \
+ $(OJT)\afs_shl_ext.obj \
+ $(OJT)\afs_shl_ext_stub.res \
+ $(OJT)\auth_dlg.obj \
+ $(OJT)\clear_acl_dlg.obj \
+ $(OJT)\copy_acl_dlg.obj \
+ $(OJT)\down_servers_dlg.obj \
+ $(OJT)\fs_utils.obj \
+ $(OJT)\gui2fs.obj \
+ $(OJT)\help.obj \
+ $(OJT)\klog_dlg.obj \
+ $(OJT)\make_mount_point_dlg.obj \
+ $(OJT)\mount_points_dlg.obj \
+ $(OJT)\msgs.obj \
+ $(OJT)\partition_info_dlg.obj \
+ $(OJT)\results_dlg.obj \
+ $(OJT)\server_status_dlg.obj \
+ $(OJT)\set_afs_acl.obj \
+ $(OJT)\shell_ext.obj \
+ $(OJT)\stdafx.obj \
+ $(OJT)\submount_info.obj \
+ $(OJT)\submounts_dlg.obj \
+ $(OJT)\unlog_dlg.obj \
+ $(OJT)\volumeinfo.obj \
+# $(OJT)\make_symbolic_link_dlg.obj \
+ $(OJT)\AFS_component_version_number.obj
AFSD = ..\afsd
-fs_utils.obj: $(AFSD)\fs_utils.c
+$(OJT)\fs_utils.obj: $(AFSD)\fs_utils.c
$(C2OBJ) $**
DLLLIBS =\
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\libafsconf.lib \
+ $(DESTDIR)\lib\libosi.lib \
$(DESTDIR)\lib\afs\TaLocale.lib
$(DLLFILE): $(DLLOBJS)
- $(DLLCONLINK) /def:afs_shl_ext.def $(DLLLIBS)
+ $(DLLCONLINK) /DEF:afs_shl_ext.def $(DLLLIBS)
$(DLLPREP)
############################################################################
# Definitions for generating versioninfo resources
-afs_shl_ext_stub.res: afs_shl_ext_stub.rc AFS_component_version_number.h
+$(OJT)\afs_shl_ext_stub.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
if exist $(NTLANG) $(NTLANG) es_ES $(MAKECMD) /nologo /f NTMakefile clean
if exist $(NTLANG) $(NTLANG) de_DE $(MAKECMD) /nologo /f NTMakefile clean
$(CD) ..
+
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
return (code==0);
}
+BOOL IsSymlink(const char * true_name)
+{
+ char parent_dir[MAXSIZE]; /*Parent directory of true name*/
+ char strip_name[MAXSIZE];
+ struct ViceIoctl blob;
+ char *last_component;
+ int code;
+ last_component = (char *) strrchr(true_name, '\\');
+ if (!last_component)
+ last_component = (char *) strrchr(true_name, '/');
+ if (last_component) {
+ /*
+ * Found it. Designate everything before it as the parent directory,
+ * everything after it as the final component.
+ */
+ strncpy(parent_dir, true_name, last_component - true_name + 1);
+ parent_dir[last_component - true_name + 1] = 0;
+ last_component++; /*Skip the slash*/
+ }
+ else {
+ /*
+ * No slash appears in the given file name. Set parent_dir to the current
+ * directory, and the last component as the given name.
+ */
+ fs_ExtractDriveLetter(true_name, parent_dir);
+ strcat(parent_dir, ".");
+ last_component = strip_name;
+ fs_StripDriveLetter(true_name, strip_name, sizeof(strip_name));
+ }
+
+ blob.in = last_component;
+ blob.in_size = strlen(last_component)+1;
+ blob.out_size = MAXSIZE;
+ blob.out = space;
+ memset(space, 0, MAXSIZE);
+ code = pioctl(parent_dir, VIOC_ISSYMLINK, &blob, 1);
+ return (code==0);
+}
+
/*
* Delete AFS mount points. Variables are used as follows:
long fs_StripDriveLetter(const char *inPathp, char *outPathp, long outSize);
long fs_ExtractDriveLetter(const char *inPathp, char *outPathp);
BOOL IsSymlink(const char * true_name);
+UINT MakeSymbolicLink(const char *,const char *);
+void ListSymbolicLinkPath(const char *strName,char *strPath,UINT nlenPath);
#endif //__GUI2FS_H__
RCFILE = $(LANGNAME)\afs_shl_ext.rc
-RESFILE = afs_shl_ext_$(LANGID).res
+RESFILE = $(OJT)\afs_shl_ext_$(LANGID).res
DLLOBJS = $(RESFILE)
install : $(DLLFILE)
clean ::
- $(DEL) *.res RC* RD* $(DLLFILE) $(DEL) $(DLLFILE)
+ $(DEL) $(OJT)\*.res RC* RD* $(DLLFILE)
############################################################################
#
$(RESFILE) : $(RCFILE) AFS_component_version_number.h
$(RC) /fo$(RESFILE) /c$(LANGCP) $(RCFILE)
+
+mkdir:
+
+
$(INCFILEDIR)\osilog.h \
$(INCFILEDIR)\osisleep.h \
$(INCFILEDIR)\perf.h \
- $(INCFILEDIR)\osithrdnt.h
-
+!IFDEF OSIEVENT
+ $(INCFILEDIR)\osievent.h \
+!ENDIF
+ $(INCFILEDIR)\osithrdnt.h
$(INCFILEDIR)\dbrpc.h: dbrpc.h
+EXEFILE = $(DESTDIR)\bin\osidebug.exe
+
+EXEOBJS = \
+ osidebug.obj
+
+EXELIBS = \
+ rpcndr.lib rpcrt4.lib rpcns4.lib \
+ Ws2_32.lib \
+ $(DESTDIR)\lib\libosi.lib
+
############################################################################
# Definitions for building a DLL.
ILIBDIR = $(DESTDIR)\lib
DLLOBJS =\
- dbrpc_s.obj \
- osistatl.obj \
- osibasel.obj \
- osisleep.obj \
- osiqueue.obj \
- osiltype.obj \
- osidb.obj \
- osifd.obj \
- osilog.obj \
- osiutils.obj \
- libosi.res
+ $(OJT)\dbrpc_s.obj \
+ $(OJT)\osistatl.obj \
+ $(OJT)\osibasel.obj \
+ $(OJT)\osisleep.obj \
+ $(OJT)\osiqueue.obj \
+ $(OJT)\osiltype.obj \
+ $(OJT)\osidb.obj \
+ $(OJT)\osifd.obj \
+ $(OJT)\osilog.obj \
+ $(OJT)\osiutils.obj \
+ $(OJT)\libosi.res
DLLLIBS =\
rpcndr.lib \
############################################################################
+# build osievent.dll
+OSIEVENTDLL = $(DESTDIR)\root.client\usr\vice\etc\osievent.dll
+
+osievent.rc: osievent.mc
+ mc $*.mc
+
+$(OJT)\osievent.res: osievent.rc
+
+$(OJT)\osievent.dll: $(OJT)\osievent.res
+ link -dll -noentry -out:$*.dll $*.res
+
+$(OSIEVENTDLL): $(OJT)\osievent.dll
+ $(COPY) osievent.dll $(DESTDIR)\root.client\usr\vice\etc\.
+
+############################################################################
+# build osidebug too
+
+$(OJT)\osidebug.res: osidebug.rc
+
+$(EXEOBJS) : osidebug.c
+
+$(EXEFILE) : $(EXEOBJS)
+ $(EXEGUILINK) $(EXELIBS)
+
+############################################################################
# midl on dbrpc.idl
dbrpc.h dbrpc_c.c dbrpc_s.c: dbrpc.idl
- $(MIDL) -Zp4 -cpp_cmd $(cc) -cpp_opt "-E" dbrpc.idl
-
+ $(MIDL) $(AFSDEV_AUXMIDLFLAGS) -Zp4 -cpp_cmd $(cc) -cpp_opt "-E" $**
############################################################################
# generate versioninfo resources
-libosi.res: libosi.rc AFS_component_version_number.h
+$(OJT)\libosi.res: libosi.rc AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
install_headers: $(INCFILES)
+!IFDEF OSIEVENT
+install: $(OSIEVENTDLL) install_headers $(DLLFILE)
+!ELSE
install: install_headers $(DLLFILE)
+!ENDIF
+
+install_debug: $(OJT)\osidebug.res $(EXEFILE)
install9x: install
# Local clean target; augments predefined clean target
clean::
- $(DEL) dbrpc_s.c dbrpc_c.c dbrpc.h $(DLLFILE) $(INCFILES)
+ $(DEL) dbrpc_s.c dbrpc_c.c dbrpc.h $(DLLFILE) $(INCFILES) $(OSIEVENTDLL)
+ $(DEL) $(EXEOBJS) $(EXEFILE) $(OJT)\*.res $(OJT)\*.DLL
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afseventlog.lib
LIBOBJS =\
- logevent.obj
+ $(OJT)\logevent.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
if exist $(NTLANG) $(NTLANG) de_DE $(MAKECMD) /nologo /f NTMakefile clean
$(CD) ..
-
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
############################################################################
DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\afseventmsg_$(LANGID).dll
-DLLRESFILE = afseventmsg_$(LANGID).res
+DLLRESFILE = $(OJT)\afseventmsg_$(LANGID).res
DLLRCFILE = afseventmsg.rc
EVENTRCFILE = $(LANGNAME)\event.rc
-EVENTRESFILE = $(LANGNAME)\event.res
+EVENTRESFILE = $(OJT)\$(LANGNAME)\event.res
DLLOBJS = $(DLLRESFILE)
test tests: elogtest.exe
-elogtest.exe: elogtest.obj \
+$(OJT)\elogtest.exe: $(OJT)\elogtest.obj \
$(DESTDIR)\lib\afs\afseventlog.lib $(DESTDIR)\lib\afs\afsreg.lib
$(EXECONLINK)
+
+mkdir:
+
WELCOMEMESSAGE=Default Configuration Information:\nBuild:*DatE* *TimE* Ver:$(AFSPRODUCT_VERSION)\nCellname:$(CELLNAME_DEFAULT)\nCellSrvDB:$(CELLSERVDB_INSTALL)
AFSBUILDCOMMENTS=Build:*DatE* *TimE* CellServDB:$(CELLSERVDB_INSTALL)
+#CHECK which OS we are using to avoid using the wrong options
+!IF (([$(DESTDIR)\bin\util_cr.exe _ xp w2])==1)
+XCOPY= xcopy /s/e/y
+!ELSE
+XCOPY= xcopy /s/e
+!ENDIF
+
############################################################################
prep: AFS_component_version_number.txt
- $(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" ".\lang\en_US\value.txt" ".\lang\en_US\value.shl"
+ $(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" ".\lang\en_US\value.txt" "$(OJT)\lang\en_US\value.shl"
$(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" "default.txt" "default.rge"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_CONFIGNAME=$(CELLSERVDB_CONFIGNAME)"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLNAME_DEFAULT=$(CELLNAME_DEFAULT)"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_INSTALL=$(CELLSERVDB_INSTALL)"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_WEB=$(CELLSERVDB_WEB)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\lang\en_US\value.shl" "[DATA] CELLSERVDB_CONFIGNAME=$(CELLSERVDB_CONFIGNAME)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\lang\en_US\value.shl" "[DATA] CELLNAME_DEFAULT=$(CELLNAME_DEFAULT)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\lang\en_US\value.shl" "[DATA] CELLSERVDB_INSTALL=$(CELLSERVDB_INSTALL)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\lang\en_US\value.shl" "[DATA] CELLSERVDB_WEB=$(CELLSERVDB_WEB)"
!IF "$(WELCOMEMESSAGE)" != ""
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] WELCOME_MESSAGE=$(WELCOMEMESSAGE)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\lang\en_US\value.shl" "[DATA] WELCOME_MESSAGE=$(WELCOMEMESSAGE)"
!ENDIF
! IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Version=$(AFSPRODUCT_VERSION)"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Comments=$(AFSBUILDCOMMENTS)"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] ApplicationName=AFSforWindows"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Company=Open AFS"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Title=Open AFS for Windows"
- $(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] OutputSpec="$(DESTDIR)\WinInstall\PackageWeb\AFSforWindows.exe"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\packageweb.pfw" "[Options] Version=$(AFSPRODUCT_VERSION)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\packageweb.pfw" "[Options] Comments=$(AFSBUILDCOMMENTS)"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\packageweb.pfw" "[Options] ApplicationName=AFSforWindows"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\packageweb.pfw" "[Options] Company=Open AFS"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\packageweb.pfw" "[Options] Title=Open AFS for Windows"
+ $(DESTDIR)\bin\util_cr.exe @ "$(OJT)\packageweb.pfw" "[Options] OutputSpec="$(DESTDIR)\WinInstall\PackageWeb\AFSforWindows.exe"
! ENDIF
CreateISDirTree.bat
ScatterFiles.bat
CreateGeneratedFiles.bat
CompileScript.bat
- $(COPY) $(DESTDIR)\WinInstall\Config\wininet.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
- $(COPY) $(DESTDIR)\WinInstall\Config\shlwapi.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
- $(COPY) ..\..\afs_setup_utils\_isuser\_isuser.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
- $(COPY) ..\..\afs_setup_utils\getwebdll\getwebdll.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
+ $(COPY) $(SYSTEMROOT)\SYSTEM32\wininet.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
+ $(COPY) $(SYSTEMROOT)\SYSTEM32\shlwapi.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
+ $(COPY) $(DESTDIR)\WinInstall\Config\_isuser.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
+ $(COPY) $(DESTDIR)\WinInstall\Config\getwebdll.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
$(COPY) $(DESTDIR)\WinInstall\Config\$(CELLSERVDB_INSTALL) ".\Setup Files\Compressed Files\0009-English\Intel 32\$(CELLSERVDB_CONFIGNAME)"
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\$(CELLSERVDB_CONFIGNAME)"
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\_ISUSER.DLL"
$(MKDIR) $(DESTDIR)\Wininstall\PackageWeb
! ENDIF
$(DEL) /q $(DESTDIR)\Wininstall\PackageWeb\*.*
- $(ISWEB)\Pftwwiz.exe $(AFSROOT)\src\winnt\install\InstallShield5\PackageWeb.pfw -s -a
+ $(ISWEB)\Pftwwiz.exe $(SRT)PackageWeb.pfw -s -a
!ENDIF
- xcopy /s/e/y "Media\OpenAFS\Disk Images\disk1\*.*" $(DESTDIR)\WinInstall
+ $(XCOPY) Media\OpenAFS\DiskIm~1\disk1\*.* $(DESTDIR)\WinInstall
copy AFS_component_version_number.txt $(DESTDIR)\WinInstall\Version.txt
$(DEL) /q "Media\OpenAFS\Disk Images\disk1\*.*"
-
install: prep build
+
+mkdir:
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\sock.vxd"
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\MMAP.vxd"
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\AFSD.EXE"
+
+mkdir:
+
EXEFILE = $(DESTDIR)\bin\sgml2rtf.exe
EXEOBJS = \
- main.obj \
- multistring.obj
+ $(OJT)\main.obj \
+ $(OJT)\multistring.obj
EXELIBS = \
user32.lib
@$(MAKECMD) /nologo /f NTMakefile install
$(CD) ..
+mkdir:
+ -mkdir $(OJT)\lang
+ cd lang
+ nmake /nologo /f ntmakefile SRC=$(SRC) OBJ=$(OBJ) mkdir
+ cd ..
clean ::
$(DEL) *.rtf
+
+mkdir:
PTHR_DLLFILE = $(DESTDIR)\lib\afspthread.dll
PTHR_DLLOBJS = \
- pthread.obj \
- pthread.res
+ $(OJT)\pthread.obj \
+ $(OJT)\pthread.res
$(PTHR_DLLFILE): $(PTHR_DLLOBJS)
$(DLLCONLINK) /DEF:pthread.def
PTHR95_DLLFILE = $(DESTDIR)\lib\win95\afspthread.dll
PTHR95_DLLOBJS = \
- pthread_95.obj \
- pthread95.res
+ $(OJT)\pthread_95.obj \
+ $(OJT)\pthread95.res
$(PTHR95_DLLFILE): $(PTHR95_DLLOBJS)
$(DLLCONLINK) /DEF:pthread.def
$(DLLPREP)
-pthread_95.obj: pthread.c
- $(C2OBJ) pthread.c -DAFS_WIN95_ENV /Fopthread_95.obj
+$(OJT)\pthread_95.obj: pthread.c
+ $(C2OBJ) $** -DAFS_WIN95_ENV
install: $(PTHR95_DLLFILE) $(PTHR_DLLFILE) $(LIBINCLUDES)
install9x: install
-pthread.res: pthread.rc AFS_component_version_number.h
- $(RC) $*.rc
-
-pthread95.res: pthread95.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\pthread95.res: pthread95.rc AFS_component_version_number.h
+ $(RC) /fo$*.res $(*F).rc
clean::
$(DEL) /q $(DESTDIR)\lib\win95\*.*
+
+mkdir:
+
test tests: ptest.exe tsd.exe native.exe
-ptest.exe: ptest.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
+$(OJT)\ptest.exe: $(OJT)\ptest.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
$(EXECONLINK)
-tsd.exe: tsd.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
+$(OJT)\tsd.exe: $(OJT)\tsd.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
$(EXECONLINK)
-native.exe: native.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
+$(OJT)\native.exe: $(OJT)\native.obj $(DESTDIR)/lib/afspthread.lib $(DESTDIR)/lib/afs/afsutil.lib
$(EXECONLINK)
+clean::
+ $(DEL) $(DESTDIR)/lib/afspthread.lib
+
+mkdir:
+
INCFILEDIR = $(DESTDIR)\include\WINNT
LIBOBJS = \
- tal_alloc.obj \
- tal_main.obj \
- tal_string.obj \
- tal_dialog.obj
+ $(OJT)\tal_alloc.obj \
+ $(OJT)\tal_main.obj \
+ $(OJT)\tal_string.obj \
+ $(OJT)\tal_dialog.obj
LIBINCLUDES = \
$(INCFILEDIR)\talocale.h \
clean::
$(DEL) $(LIBINCLUDES)
+
+mkdir:
+
#include <windows.h>
#include <commctrl.h>
#include <WINNT/tal_alloc.h>
+#include <winnt/osi_malloc.h>
/*
!IF "$(AFSDEV_BUILDTYPE)" == "FREE"
-INTDIR=.
+INTDIR=$(OJT)\
HLP=hcrtf.exe
HLP_PROJ = /x
# Begin Custom Macros
CPP_PROJ=/nologo /MD /W3 /GX /O2 \
$(CPP_INCLUDE) /P \
/I "$(DESTDIR)\include\\" /I "$(DESTDIR)\include\rx" /I "$(DESTDIR)\include\afs" \
- /D "NDEBUG" /D "_MFC" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WINNT" /D "_AFXDLL" /D "ENCRIPT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
+ /D "NDEBUG" /D "_MFC" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WINNT" /D "_AFXDLL" /D "ENCRIPT" /Fo"$(OJT)\\\" /Fd"$(INTDIR)\\" /FD /c
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\"" /d "NDEBUG" /d "_AFXDLL"
!ELSEIF "$(AFSDEV_BUILDTYPE)" == "CHECKED"
-INTDIR=.
+INTDIR=$(OJT)\
HLP=hcrtf.exe
HLP_PROJ = /x
# Begin Custom Macros
!ENDIF
-.c{$(INTDIR)}.obj::
+.c.${$(OJT)\}obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cxx{$(INTDIR)}.obj::
+.cxx.obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.c{$(INTDIR)}.sbr::
+.c.$(OJT)\sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cpp{$(INTDIR)}.sbr::
+.cpp$.$(OJT)\sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
-.cxx{$(INTDIR)}.sbr::
+.cxx.$(OJT)\sbr::
$(CPP) @<<
$(CPP_PROJ) $<
<<
install9x: install
+mkdir:
+
+
+#
# Copyright 2000, International Business Machines Corporation and others.
# All Rights Reserved.
#
LIBFILE = $(DESTDIR)\lib\afs\afsaudit.lib
LIBOBJS =\
- audit.obj
+ $(OJT)\audit.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
AFSD = ..\WINNT\afsd
AFSAUTH_LIBOBJS =\
- cellconfig.obj \
- userok.obj \
- writeconfig.obj \
- authcon.obj \
- acfg_errors.obj \
- ktc_errors.obj \
- ktc_nt.obj \
- $(AFSD)\afsrpc_c.obj \
- AFS_component_version_number.obj
-
-$(AFSAUTH_LIBFILE): $(AFSAUTH_LIBOBJS)
+ $(OJT)\cellconfig.obj \
+ $(OJT)\userok.obj \
+ $(OJT)\writeconfig.obj \
+ $(OJT)\authcon.obj \
+ $(OJT)\acfg_errors.obj \
+ $(OJT)\ktc_errors.obj \
+ $(OJT)\ktc_nt.obj \
+ $(OJT)\AFS_component_version_number.obj
+
+AFSDOBJS =\
+ $(OJT)\$(AFSD)\afsrpc_c.obj
+
+$(AFSDOBJS): $(AFSD)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(AFSAUTH_LIBFILE): $(AFSAUTH_LIBOBJS) $(AFSDOBJS)
$(LIBARCH) rpcrt4.lib
############################################################################
AFSAUTH_KRB_LIBFILE = $(DESTDIR)\lib\afs\afsauth.krb.lib
AFSAUTH_KRB_LIBOBJS =\
- cellconfig.obj \
- userok.obj \
- writeconfig.obj \
- authcon.obj \
- acfg_errors.obj \
- ktc_errors.obj \
- ktc_nt.obj \
- AFS_component_version_number.obj
+ $(OJT)\cellconfig.obj \
+ $(OJT)\userok.obj \
+ $(OJT)\writeconfig.obj \
+ $(OJT)\authcon.obj \
+ $(OJT)\acfg_errors.obj \
+ $(OJT)\ktc_errors.obj \
+ $(OJT)\ktc_nt.obj \
+ $(OJT)\AFS_component_version_number.obj
$(AFSAUTH_KRB_LIBFILE): $(AFSAUTH_KRB_LIBOBJS)
$(LIBARCH) rpcrt4.lib
############################################################################
# build setkey
-SETKEY_EXEFILE = setkey.exe
+SETKEY_EXEFILE = $(OJT)\setkey.exe
SETKEY_EXEOBJS =\
- setkey.obj
+ $(OJT)\setkey.obj
EXELIBDIR = $(DESTDIR)\lib
COPYAUTH_EXEFILE = $(DESTDIR)\etc\copyauth.exe
COPYAUTH_EXEOBJS =\
- copyauth.obj
+ $(OJT)\copyauth.obj
$(COPYAUTH_EXEFILE): $(COPYAUTH_EXEOBJS) $(EXELIBS)
$(EXECONLINK)
$(EXEPREP)
-acfg_errors.c $(INCFILEDIR)\cellconfig.h : acfg_errors.et cellconfig.p.h
- $(DEL) $(INCFILEDIR)\cellconfig.h acfg_errors.c
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
+
+acfg_errors.c cellconfig.h : acfg_errors.et cellconfig.p.h
+ $(DEL) cellconfig.h acfg_errors.c
$(COMPILE_ET) acfg_errors.et -h cellconfig
- $(COPY) cellconfig.h $(INCFILEDIR)\cellconfig.h
-ktc_errors.c $(INCFILEDIR)\auth.h: ktc_errors.et auth.p.h
+ktc_errors.c auth.h: ktc_errors.et auth.p.h
$(DEL) auth.h ktc_errors.c
$(COMPILE_ET) ktc_errors.et -h auth
- $(COPY) auth.h $(INCFILEDIR)\auth.h
-install: $(INCFILES) $(AFSAUTH_LIBFILE) setkey.exe # $(COPYAUTH_EXEFILE) $(AFSAUTH_KRB_LIBFILE)
+install: $(INCFILES) $(AFSAUTH_LIBFILE) $(OJT)\setkey.exe # $(COPYAUTH_EXEFILE) $(AFSAUTH_KRB_LIBFILE)
install9x: install
clean::
$(DEL) acfg_errors.c ktc_errors.c
- $(DEL) $(INCFILEDIR)\auth.h $(INCFILEDIR)\cellconfig.h
+ $(DEL) $(INCFILES) $(AFSAUTH_LIBFILE)
$(DEL) auth.h cellconfig.h
setkey: $(SETKEY_EXEFILE)
+mkdir:
+
#include <rpc.h>
#include <afs/smb_iocons.h>
#include <afs/pioctl_nt.h>
-#include "WINNT/afsd/afsrpc.h"
+#include "afs/afsrpc.h"
#include <afs/vice.h>
#include "auth.h"
#include <afs/afsutil.h>
!INCLUDE ..\..\config\NTMakefile.version
############################################################################
-CELL_EXEFILE = testcellconf.exe
+CELL_EXEFILE = $(OJT)\testcellconf.exe
CELL_EXEOBJS =\
- testcellconf.obj
+ $(OJT)\testcellconf.obj
CELL_EXELIBS =\
$(DESTDIR)\lib\afs\afsauth.lib \
$(EXEPREP)
############################################################################
-KTC_EXEFILE = ktctest.exe
+KTC_EXEFILE = $(OJT)\ktctest.exe
KTC_EXEOBJS =\
- ktctest.obj
+ $(OJT)\ktctest.obj
KTC_EXELIBS =\
$(DESTDIR)\lib\afs\afsutil.lib \
test tests: $(CELL_EXEFILE) $(KTC_EXEFILE)
clean::
+
+mkdir:
+
BOS_LIBFILE = $(DESTDIR)\lib\afs\afsbos.lib
BOS_LIBOBJS =\
- AFS_component_version_number.obj \
- bosint.cs.obj \
- bosint.xdr.obj \
- boserr.obj
+ $(OJT)\bosint.cs.obj \
+ $(OJT)\bosint.xdr.obj \
+ $(OJT)\boserr.obj \
+ $(OJT)\AFS_component_version_number.obj
$(BOS_LIBFILE): $(BOS_LIBOBJS)
$(LIBARCH)
BOSSERVER_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\bosserver.exe
BOSSERVER_EXEOBJS =\
- bosserver.obj \
- bnode.obj \
- cronbnodeops.obj \
- ezbnodeops.obj \
- fsbnodeops.obj \
- bosint.ss.obj \
- bosoprocs.obj \
- bosserver.res
+ $(OJT)\bosserver.obj \
+ $(OJT)\bnode.obj \
+ $(OJT)\cronbnodeops.obj \
+ $(OJT)\ezbnodeops.obj \
+ $(OJT)\fsbnodeops.obj \
+ $(OJT)\bosint.ss.obj \
+ $(OJT)\bosoprocs.obj \
+ $(OJT)\bosserver.res
BOSSERVER_EXELIBS =\
CL_BOS_EXEFILE = $(DESTDIR)\bin\bos.exe
BOS_EXEOBJS =\
- bos.obj \
- bos.res
+ $(OJT)\bos.obj \
+ $(OJT)\bos.res
BOS_EXELIBS =\
$(DESTDIR)\lib\afsrx.lib \
############################################################################
# Definitions for generating versioninfo resources
-bosserver.res: bosserver.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\bosserver.res: AFS_component_version_number.h
-bos.res: bos.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\bos.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
clean::
$(DEL) bnode.h boserr.c bosint.cs.c bosint.h bosint.ss.c bosint.xdr.c
+
+mkdir:
+
EXEFILE = $(DESTDIR)\etc\fms.exe
EXEOBJS =\
- fms.obj \
- fms.res
+ $(OJT)\fms.obj \
+ $(OJT)\fms.res
EXELIBS =\
$(DESTDIR)\lib\afs\afscmd.lib \
############################################################################
# Definitions for generating versioninfo resources
-fms.res: fms.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\fms.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
clean::
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsbubasics.lib
LIBOBJS =\
- butc.ss.obj \
- butc.cs.obj \
- butc.xdr.obj \
- bumon.ss.obj \
- bumon.cs.obj \
- bumon.xdr.obj \
- butc_errs.obj \
- butm_errs.obj \
- butx_errs.obj \
- AFS_component_version_number.obj
+ $(OJT)\butc.ss.obj \
+ $(OJT)\butc.cs.obj \
+ $(OJT)\butc.xdr.obj \
+ $(OJT)\bumon.ss.obj \
+ $(OJT)\bumon.cs.obj \
+ $(OJT)\bumon.xdr.obj \
+ $(OJT)\butc_errs.obj \
+ $(OJT)\butm_errs.obj \
+ $(OJT)\butx_errs.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
$(DEL) *.xdr.c *.ss.c *.cs.c butc.h bumon.h butm.h tcdata.h butx.h \
butc_errs.c butm_errs.c butx_errs.c
-
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsbxdb.lib
LIBOBJS =\
- dsstub.obj \
- ubik_db_if.obj \
- status.obj \
- dlq.obj \
- bucoord_errs.obj \
- volstub.obj \
- AFS_component_version_number.obj
+ $(OJT)\dsstub.obj \
+ $(OJT)\ubik_db_if.obj \
+ $(OJT)\status.obj \
+ $(OJT)\dlq.obj \
+ $(OJT)\bucoord_errs.obj \
+ $(OJT)\volstub.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
EXEFILE = $(DESTDIR)\etc\backup.exe
EXEOBJS =\
- main.obj \
- config.obj \
- dsstub.obj \
- volstub.obj \
- commands.obj \
- regex.obj \
- server.obj \
- dsvs.obj \
- dump.obj \
- restore.obj \
- ubik_db_if.obj \
- dump_sched.obj \
- vol_sets.obj \
- tape_hosts.obj \
- bucoord_errs.obj \
- bc_status.obj \
- status.obj \
- dlq.obj \
- backup.res
+ $(OJT)\main.obj \
+ $(OJT)\config.obj \
+ $(OJT)\dsstub.obj \
+ $(OJT)\volstub.obj \
+ $(OJT)\commands.obj \
+ $(OJT)\regex.obj \
+ $(OJT)\server.obj \
+ $(OJT)\dsvs.obj \
+ $(OJT)\dump.obj \
+ $(OJT)\restore.obj \
+ $(OJT)\ubik_db_if.obj \
+ $(OJT)\dump_sched.obj \
+ $(OJT)\vol_sets.obj \
+ $(OJT)\tape_hosts.obj \
+ $(OJT)\bucoord_errs.obj \
+ $(OJT)\bc_status.obj \
+ $(OJT)\status.obj \
+ $(OJT)\dlq.obj \
+ $(OJT)\backup.res
EXELIBS =\
$(DESTDIR)\lib\afs\afsbudb.lib \
############################################################################
# Definitions for generating versioninfo resources
-backup.res: backup.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\backup.res: AFS_component_version_number.h
############################################################################
# Install
clean::
$(DEL) bc.h bucoord_errs.c
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsbudb.lib
LIBOBJS =\
- budb_errs.obj \
- budb.cs.obj \
- budb.xdr.obj \
- struct_ops.obj \
- AFS_component_version_number.obj
+ $(OJT)\budb_errs.obj \
+ $(OJT)\budb.cs.obj \
+ $(OJT)\budb.xdr.obj \
+ $(OJT)\struct_ops.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\buserver.exe
EXEOBJS =\
- database.obj \
- db_alloc.obj \
- db_dump.obj \
- db_hash.obj \
- struct_ops.obj \
- ol_verify.obj \
- budb.ss.obj \
- budb.xdr.obj \
- dbs_dump.obj \
- db_lock.obj \
- db_text.obj \
- procs.obj \
- budb_errs.obj \
- server.obj \
- buserver.res
+ $(OJT)\database.obj \
+ $(OJT)\db_alloc.obj \
+ $(OJT)\db_dump.obj \
+ $(OJT)\db_hash.obj \
+ $(OJT)\struct_ops.obj \
+ $(OJT)\ol_verify.obj \
+ $(OJT)\budb.ss.obj \
+ $(OJT)\budb.xdr.obj \
+ $(OJT)\dbs_dump.obj \
+ $(OJT)\db_lock.obj \
+ $(OJT)\db_text.obj \
+ $(OJT)\procs.obj \
+ $(OJT)\budb_errs.obj \
+ $(OJT)\server.obj \
+ $(OJT)\buserver.res
EXELIBS =\
############################################################################
# Definitions for generating versioninfo resources
-buserver.res: buserver.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\buserver.res: AFS_component_version_number.h
############################################################################
# rxgen budb.rg
clean::
$(DEL) budb_errs.c budb_errs.h budb.h budb_client.h
$(DEL) budb.cs.c budb.ss.c budb.xdr.c
+
+mkdir:
+
EXEFILE = $(DESTDIR)\etc\butc.exe
EXEOBJS =\
- dbentries.obj \
- tcprocs.obj \
- lwps.obj \
- list.obj \
- recoverDb.obj \
- tcudbprocs.obj \
- dump.obj \
- tcstatus.obj \
- tcmain.obj \
- butc.res
+ $(OJT)\dbentries.obj \
+ $(OJT)\tcprocs.obj \
+ $(OJT)\lwps.obj \
+ $(OJT)\list.obj \
+ $(OJT)\recoverDb.obj \
+ $(OJT)\tcudbprocs.obj \
+ $(OJT)\dump.obj \
+ $(OJT)\tcstatus.obj \
+ $(OJT)\tcmain.obj \
+ $(OJT)\butc.res
EXELIBS =\
$(DESTDIR)\lib\afs\afsbudb.lib \
############################################################################
# Definitions for generating versioninfo resources
-butc.res: butc.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\butc.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
############################################################################
# Auxiliary build targets not built by default; e.g. test programs
-butc_test.exe: test.obj
+$(OJT)\butc_test.exe: $(OJT)\test.obj
$(EXECONLINK)
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsbutm.lib
LIBOBJS =\
- file_tm.obj \
- AFS_component_version_number.obj
+ $(OJT)\file_tm.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
############################################################################
# Install target; primary makefile target
-install: $(LIBFILE) test_ftm.exe
+install: $(LIBFILE) $(OJT)\test_ftm.exe
############################################################################
$(DESTDIR)\lib\afs\afsutil.lib \
$(DESTDIR)\lib\afs\afsbubasics.lib
-test_ftm.exe: test_ftm.obj $(LIBFILE) $(TESTLIBS)
+$(OJT)\test_ftm.exe: $(OJT)\test_ftm.obj $(LIBFILE) $(TESTLIBS)
$(EXECONLINK)
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afscmd.lib
LIBOBJS =\
- cmd_errors.obj \
- cmd.obj \
- AFS_component_version_number.obj
-
-$(LIBFILE): $(LIBOBJS)
+ $(OJT)\cmd_errors.obj \
+ $(OJT)\cmd.obj \
+ $(OJT)\AFS_component_version_number.obj
+
+$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
cmd_errors.c cmd.h: cmd_errors.et cmd.p.h
$(DEL) cmd_errors.c cmd.h
- $(COMPILE_ET) cmd_errors -h cmd
-
+ $(COMPILE_ET) cmd_errors.et -h cmd
-install: $(LIBFILE) $(INCFILES)
+install: cmd.h $(LIBFILE) $(INCFILES)
install9x: install
clean::
- $(DEL) cmd_errors.c cmd.h
+ $(DEL) cmd_errors.c cmd.h $(INCFILES)
$(DEL) $(LIBFILE)
+ $(DEL) *.PDB
test tests:
+
+mkdir:
# build itest.exe
ITEST_EXEOBJS =\
- itest.obj
+ $(OJT)\itest.obj
-ITEST_EXEFILE = itest.exe
+ITEST_EXEFILE = $(OJT)\itest.exe
$(ITEST_EXEFILE): $(ITEST_EXEOBJS)
$(EXECONLINK) $(EXELIBS)
#build ctest.exe
CTEST_EXEOBJS =\
- ctest.obj
+ $(OJT)\ctest.obj
-CTEST_EXEFILE = ctest.exe
+CTEST_EXEFILE = $(OJT)\ctest.exe
$(CTEST_EXEFILE): $(CTEST_EXEOBJS)
$(EXECONLINK) $(EXELIBS)
# build dtest.exe
DTEST_EXEOBJS =\
- dtest.obj
+ $(OJT)\dtest.obj
-DTEST_EXEFILE = dtest.exe
+DTEST_EXEFILE = $(OJT)\dtest.exe
$(DTEST_EXEFILE): $(DTEST_EXEOBJS)
$(EXECONLINK) $(EXELIBS)
test tests: $(CTEST_EXEFILE) $(ITEST_EXEFILE) $(DTEST_EXEFILE)
clean::
- $(DEL) ctest.exe dtest.exe itest.exe
+ $(DEL) $(OJT)\ctest.exe $(OJT)\dtest.exe $(OJT)\itest.exe
+
+mkdir:
+
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
-
+!message
!INCLUDE ..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\config\NTMakefile.version
COMERR_LIBFILE = $(DESTDIR)\lib\afs\afscom_err.lib
COMERR_LIBOBJS =\
- error_msg.obj \
- et_name.obj \
- com_err.obj \
- AFS_component_version_number.obj
-
+ $(OJT)\error_msg.obj \
+ $(OJT)\et_name.obj \
+ $(OJT)\com_err.obj \
+ $(OJT)\AFS_component_version_number.obj
+
$(COMERR_LIBFILE): $(COMERR_LIBOBJS)
$(LIBARCH)
$(YACC) -d -o $@ error_table.y
COMPILE_ET_EXEOBJS =\
- compile_et.obj \
- error_table_nt.obj
-
+ $(OJT)\compile_et.obj \
+ $(OJT)\error_table_nt.obj
+
COMPILE_ET_EXELIBS =\
$(DESTDIR)\lib\afs\afsutil.lib
install9x: install
clean::
- $(DEL) $(COMERR_LIBFILE)
+ $(DEL) $(COMERR_LIBFILE) $(OJT)\AFS_component_version_number.obj
$(DEL) $(COMPILE_ET_EXEFILE)
$(DEL) *~ *.bak \
*.otl *.aux *.toc *.PS *.dvi *.x9700 *.ps \
test:
-
-
+mkdir:
!INCLUDE ..\..\config\NTMakefile.version
-EXEFILE = comerr_test.exe
+EXEFILE = $(OJT)\comerr_test.exe
EXEOBJS =\
- test1.obj \
- test2.obj \
- test.obj
+ $(OJT)\test1.obj \
+ $(OJT)\test2.obj \
+ $(OJT)\test.obj
EXELIBS =\
$(DESTDIR)\lib\afs\afsutil.lib \
clean::
$(DEL) test1.c test1.h test2.c test2.h
+
+mkdir:
+
# 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 \
$(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 $(OJT)\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) $? $@
$(DESTDIR)\bin\util_cr.exe \
$(DESTDIR)\bin\touch.exe
-#mkvers.exe : mkvers.obj
-# $(EXECONLINK)
+$(INCTOOLS):$(OJT)\$$(@F)
+ $(COPY) $** $(DESTDIR)\bin\.
-$(DESTDIR)\bin\mkvers.exe:mkvers.exe
- $(COPY) mkvers.exe $(DESTDIR)\bin\.
-
-$(DESTDIR)\bin\util_cr.exe:util_cr.exe
- $(COPY) util_cr.exe $(DESTDIR)\bin\.
+$(OJT)\mkvers.exe : $(OJT)\mkvers.obj
+ $(EXECONLINK)
-util_cr.exe : util_cr.obj
+$(OJT)\touch.exe : $(OJT)\touch.obj
$(EXECONLINK)
-$(DESTDIR)\bin\touch.exe:touch.exe
- $(COPY) touch.exe $(DESTDIR)\bin\.
+$(OJT)\util_cr.exe : $(OJT)\util_cr.obj
+ $(EXECONLINK)
langsetup: $(DESTDIR)\bin\NTLang.bat
#
# Required definitions:
# AFSDEV_BUILDTYPE = [ CHECKED | FREE ]
-# AFSDEV_INCLUDE = <default include directories>
-# AFSDEV_LIB = <default library directories>
#
# Optional definitions:
-# AFSDEV_DESTDIR = <top-level install directory> (default is $(AFSROOT)\DEST)
# AFSDEV_WARNLEVEL = [0 | 1 | 2 | 3 | 4] (default is 3)
# AFSDEV_AUXCDEFINES = <auxiliary C preprocessor defs> (default is null)
# AFSDEV_AUXRCFLAGS = <auxiliary resource compiler flags> (default is null)
+# AFSDEV_AUXMIDLFLAGS = auxiliary midl flags
# AFSDEV_TEXTMODE = <text mode is default if defined> (default is null)
-# AFSDEV_CRTDEBUG = <utilize debug C runtime if define> (default is null)
+# DEBUG_VERBOSE = optional debug statements for testing
+# AFS_OBJDIR - Location of object directory, either absolute or relative
+# AFSROOT - ROOT Directory so that $(AFSROOT)\scr is location of source
#
############################################################################
+# Optional compliation flags
+# NO_CRTDBG - used to disable some builds for CFTDBG allocate mapping
+# _CRTDBG_MAP_ALLOC = <utilize crt debug C runtime if define> (default is null)
+# VADUMP - define VADUMP=1 if you are going to use the vadump utility and you are using V6.0
+#
+####### Special optional defines
+!IFNDEF NO_CRTDBG #don't set _CRTDBG_MAP_ALLOC flag for some module compliations
+#_CRTDBG_MAP_ALLOC=1
+!ENDIF
-# Definitions provided here are based on WIN32.MAK, a common nmake
-# file included with the MS SDK and MS VC distributions.
-# WIN32.MAK, and this nmake file, are targeted to the MSVC compiler;
-# port this nmake file if additional compiler support is required.
+#######
-# Define default target-type macros required by WIN32.MAK.
-# Allow them to be overriden in an NTMakefile or via an environment variable.
+#sanity checks
-!IFNDEF APPVER
-APPVER = 4.0
+!IF EXISTS("TOOLS.INI")
+!MESSAGE ************CAUTION TOOLS.INI IN EFFECT**********
!ENDIF
-
-#define used in WinNT/2000 installation and program version display
-AFSPRODUCT_VERSION=1.2.6 a
-CELLNAME_DEFAULT=Your Cell Name
-CELLSERVDB_INSTALL=CellServDB.GrandCentral
-CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
-#NMAKE_DEFINES=-DDEBUG_VERBOSE
-
-!IFNDEF TARGETOS
-TARGETOS = WINNT
+!IF ("$(AFSROOT)"=="")
+!ERROR AFSROOT is not set
!ENDIF
-
-# Check that build type is correctly specified.
-
!IF (DEFINED(PROFILE) || DEFINED(TUNE))
-# Build type ignored when profiling or tuning.
AFSDEV_BUILDTYPE = NONE
-
!ELSE
-# Build type must be checked or free.
!IF ("$(AFSDEV_BUILDTYPE)" != "CHECKED" && "$(AFSDEV_BUILDTYPE)" != "FREE")
!ERROR Must define AFSDEV_BUILDTYPE to be CHECKED or FREE.
!ENDIF
-
+!ENDIF
+!IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
+!UNDEF _CRTDBG_MAP_ALLOC
!ENDIF
-# Limit default include and library directories to those specified for build.
-
-#!IFNDEF AFSDEV_INCLUDE
-#!ERROR Must define AFSDEV_INCLUDE to be the default include directories.
-#!ENDIF
-
-#!IF ((!DEFINED(INCLUDE)) && ([set INCLUDE=$(AFSDEV_INCLUDE)] != 0))
-# If env. var. INCLUDE not defined then macro assignment won't set it.
-#!ERROR Failed setting environment variable INCLUDE.
-#!ENDIF
-#INCLUDE = $(AFSDEV_INCLUDE)
+#define used in WinNT/2000 installation and program version display
+AFSPRODUCT_VERSION=1.2.8 a
+CELLNAME_DEFAULT=Your Cell Name
+CELLSERVDB_INSTALL=CellServDB.GrandCentral
+CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
+TARGETOS = WINNT
+# Define defaults folder locations
+DEST=dest
+SRC=src
+OBJ=obj
+
+!IF ("$(AFS_OBJDIR)"=="")
+######### AFS_OBJDIR is NOT used use default locations
+! IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
+DESTDIR=$(AFSROOT)\$(OBJ)\$(DEST)\checked
+OJT=$(MAKEDIR:src=obj\checked)
+! ELSE
+DESTDIR=$(AFSROOT)\$(OBJ)\$(DEST)\free
+OJT=$(MAKEDIR:src=obj\free)
+! ENDIF
+UTIL_CR = $(DESTDIR)\bin\util_cr.exe
+!ELSE
+######### AFS_OBJDIR is defined, use specific locations for obj and dest
+# there is a special case for config because util_cr is not defined yet!
+! IF (EXIST($(AFSROOT)\$(AFS_OBJDIR)))
+# AFS_OBJDIR is relative path
+! IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
+DESTDIR=$(AFSROOT)\$(AFS_OBJDIR)\$(DEST)\checked
+OJT=$(AFSROOT)\$(AFS_OBJDIR)\checked\config
+! ELSE
+OJT=$(AFSROOT)\$(AFS_OBJDIR)\free\config
+DESTDIR=$(AFSROOT)\$(AFS_OBJDIR)\$(DEST)\free
+! ENDIF
+! ELSE
+! IF (EXIST($(AFS_OBJDIR)))
+# AFS_OBJDIR is full path
+! IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
+DESTDIR=$(AFS_OBJDIR)\$(DEST)\checked
+OJT=$(AFS_OBJDIR)\checked\config
+! ELSE
+DESTDIR=$(AFS_OBJDIR)\$(DEST)\free
+OJT=$(AFS_OBJDIR)\free\config
+! ENDIF
+! ELSE
+!ERROR Can't find location of DEST directory!
+! ENDIF
+! ENDIF
+UTIL_CR = $(DESTDIR)\bin\util_cr.exe
+
+! IF ("$(MAKEDIR:\config=)"=="$(MAKEDIR)")
+# we are NOT doing a config make, use util_cr to generate object directory
+! IF ( !EXIST($(UTIL_CR)) || (!EXIST($(TMP)\home) && !EXIST($(TEMP)\home)) || (([$(UTIL_CR) _dir "!$(AFSDEV_BUILDTYPE)!src!$(AFS_OBJDIR)!"])!=0))
+!ERROR Can't produce object paths, util_cr not working , TMP or TEMP environment variables not defined
+! ENDIF
+
+! IF EXIST($(TMP)\home)
+!INCLUDE $(TMP)\home
+! ELSE
+!INCLUDE $(TEMP)\home
+! ENDIF
+! ENDIF
+!ENDIF #AFS_OBJDIR
+
+!MESSAGE Directory assignments: OJT=[$(OJT)] DESTDIR=[$(DESTDIR)]
-#!IFNDEF AFSDEV_LIB
-#!ERROR Must define AFSDEV_LIB to be the default library directories.
-#!ENDIF
+# Definitions provided here are based on WIN32.MAK, a common nmake
+# file included with the MS SDK and MS VC distributions.
+# WIN32.MAK, and this nmake file, are targeted to the MSVC compiler;
+# port this nmake file if additional compiler support is required.
-#!IF ((!DEFINED(LIB)) && ([set LIB=$(AFSDEV_LIB)] != 0))
-# If env. var. LIB not defined then macro assignment won't set it.
-#!ERROR Failed setting environment variable LIB.
-#!ENDIF
-#LIB = $(AFSDEV_LIB)
+!IF ("$(AFSVER)"=="1300")
+afslflags = $(afslflags) /DEBUG
+!ENDIF
-# Undefine WIN32.MAK NODEBUG macro.
-# Always generate full debug info, unless profiling or tuning (see below).
+!IF ("$(APPVER)" == "")
+APPVER=4.0
+!ENDIF
!UNDEF NODEBUG
-# Include WIN32.MAK nmake file
!INCLUDE <WIN32.MAK>
-
# Extend and/or supplement definitions in WIN32.MAK.
-# Standard install directory.
-!IFDEF AFSDEV_DESTDIR
-DESTDIR = $(AFSDEV_DESTDIR)
-!ELSE
-DESTDIR = $(AFSROOT)\DEST
-!ENDIF
-
# Command macros.
-COPY = copy
+COPY = -copy
DEL = -del
-#DEL = $(DESTDIR)\BIN\rmbat # win 98 must use batch file
-MKDIR = mkdir
+MKDIR = -mkdir
REN = ren
ECHO = echo
CD = cd
MIDL = midl
# Common clean target.
-# Double colon (::) syntax allows supplemental clean target to be specified.
clean::
- $(DEL) /q *.obj *.lib *.dll *.exe
- $(DEL) /q *_component_version_number.*
+ $(DEL) /q $(OJT)\*.obj $(OJT)\*.lib $(OJT)\*.dll $(OJT)\*.exe $(OJT)\*.pdb
+ $(DEL) /q $(OJT)\*_component_version_number.* *_component_version_number.*
# Common lang target.
-# Double colon (::) syntax allows supplemental lang target to be specified.
lang::
-# Compiler include paths and preprocessor defines
+#################### Compile optional build flags set ###########
afscdefs =\
-I. \
-DSTRICT \
-D_WIN32_IE=0x0400 \
-DAFS_AFSDB_ENV \
- -DAFS_FREELANCE_CLIENT
-
-afscdefs = $(afscdefs) $(AFSDEV_AUXCDEFINES) $(NMAKE_DEFINES)
+ -DAFS_FREELANCE_CLIENT \
+ $(AFSDEV_AUXCDEFINES)
# Compiler switches (except include paths and preprocessor defines)
/GX \
/Os
-# Set optimization and debugging level based on build type.
+cdebug = $(cdebug:-Z7=-Zi) # avoid annoying override warning (D4025)
+!IF ("APPSVER"=="1300")
+cdebug = $(cdebug) -Zi
+!ENDIF
!IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
-# Apply full optimization; generate full debug info in obj.
-afscflags = $(afscflags) /Ox /Zi
-# ldebug = $(ldebug) -debugtype:both
-ldebug = $(ldebug)
-cdebug = $(cdebug:-Od=) # avoid annoying override warning (D4025)
+
+afscflags = $(afscflags) /Ox
+cdebug = $(cdebug:-Od=) # avoid annoying override warning (D4025)
cvarsdll = $(cvarsdll:-MDd=-MD)
-!ELSEIF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
-# Disable optimization; generate full debug info in obj.
-afscflags = $(afscflags) /Od /Zi
-ldebug = $(ldebug) -debugtype:both
+!ELSE # CHECKED BUILD
+
+!IF ("$(AFSVER_CL)"=="1200")
+afscdefs = $(afscdefs) -DDEBUG
+!ENDIF
+
+!IFDEF _CRTDBG_MAP_ALLOC
+afscflags = $(afscflags) -D_DEBUG -D_CRTDBG_MAP_ALLOC
+!ENDIF
+
!ENDIF
# Set compiler warning level
afscflags = $(afscflags) /W$(AFSDEV_WARNLEVEL)
+# C/C++ compilation macros
+C2OBJ = $(cc) /Fo$@ /Fd$*.pdb $(cflags) $(cdebug) $(cvarsdll) $(afscflags) $(afscdefs) /c
+CPP2OBJ = $(C2OBJ)
+# Inference rules for building and installing targets
+# Compile .c files, from current directory to defined by OJT
-# Linker switches
-#
-# /FIXED:NO generates a relocation section in the executable
+.SUFFIXES: .c .rc
-afslflags =\
- /FIXED:NO /VERBOSE:LIB /DEBUG
+.c{$(OJT)\}.obj:
+ $(C2OBJ) $<
+.cpp{$(OJT)\}.obj:
+ $(CPP2OBJ) $<
+.rc{$(OJT)\}.res:
+ $(RC) /fo$(OJT)\$(<B).res $<
-# For checked builds, define DEBUG (but not the MS control flag _DEBUG).
+# Compile .rc (resource) files
+#.rc.res:
+# $(RC) $*.rc
-!IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
-#afscdefs = $(afscdefs) -DDEBUG
-!ENDIF
+.SUFFIXES: .h
-# Utilize the debug version of the MSVC runtime, if requested.
+.h.{$(DESTDIR)\include\afs}.h:
+ $(COPY) $< $(DESTDIR)\include\afs
-!IFDEF AFSDEV_CRTDEBUG
-afscdefs = $(afscdefs) -D_DEBUG
-conlibsdll = $(conlibsdll:msvcrt.lib=msvcrtd.lib)
-guilibsdll = $(guilibsdll:msvcrt.lib=msvcrtd.lib)
-!ENDIF
+.h.{$(DESTDIR)\include\rx}.h:
+ $(COPY) $< $(DESTDIR)\include\rx
-# Link with binmode.obj; files will be opened in binary mode by default.
+.h.{$(DESTDIR)\include}.h:
+ $(COPY) $< $(DESTDIR)\include
-!IFNDEF AFSDEV_TEXTMODE
-conlibsdll = $(conlibsdll) binmode.obj
-guilibsdll = $(guilibsdll) binmode.obj
-!ENDIF
+.h.{$(DESTDIR)\include\WINNT}.h:
+ $(COPY) $< $(DESTDIR)\include\WINNT
+.h.{$(DESTDIR)\include}.h:
+ $(COPY) $(*B).h $(DESTDIR)\include
-# Define MFC link and library macros
-# Note that MFC seems to make extensive use of default libraries,
-# thus we do not specify a general /NODEFAULTLIB.
+.h.{$(DESTDIR)\include\afs}.h:
+ $(COPY) $(*B).h $(DESTDIR)\include\afs
+
+.h.{$(DESTDIR)\include\rx}.h:
+ $(COPY) $(*B).h $(DESTDIR)\include\rx
+
+.h.{$(DESTDIR)\include\WINNT}.h:
+ $(COPY) $(*B).h $(DESTDIR)\include\WINNT
+
+# Resource compiler macro
+RC = $(rc) $(rcvars) $(rcflags) $(AFSDEV_AUXRCFLAGS) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\""
+
+#################### Link optional build flags set ###########
+
+afslflags =\
+ /FIXED:NO /VERBOSE:LIB
mfclflags = $(guilflags)
mfclflags = $(mfclflags:/NODEFAULTLIB=)
mfclibsdll = $(mfclibsdll:msvcrtd.lib=)
mfclibsdll = $(mfclibsdll:msvcrt.lib=)
-!IFNDEF AFSDEV_CRTDEBUG
+# Link with binmode.obj; files will be opened in binary mode by default.
+!IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
+
+ldebug=
+EXEPREP = rebase -b 0x00400000 -x $(@D) -q $@
+DLLPREP = rebase -i $(DESTDIR)\NTDllmap.txt -x $(@D) -q $@
+
+!ELSE #CHECKED BUILD
+
+ldebug = /NODEFAULTLIB:LIBC
+
+#!IF ("AFSVER_CL"=="1200")
+#ldebug = $(ldebug) -debugtype:cv
+#!ENDIF
+
+!IFDEF VADUMP
+ldebug = $(ldebug) -debugtype:both
+ldebug = $(ldebug:-debugtype:cv=)
+!ENDIF
+
+!IFNDEF _CRTDBG_MAP_ALLOC
mfclflags = $(mfclflags) /NODEFAULTLIB:msvcrtd.lib
mfcdlllflags = $(mfcdlllflags) /NODEFAULTLIB:msvcrtd.lib
+#v6.0 doesn't work using msvcrtd.lib unless _CRTDBG_MAP_ALLOC is defined, v7.0 requires it
+
+!IF ("$(AFSVER_CL)"=="1200")
+EXEMFCLINK=$(EXEMFCLINK:/NODEFAULTLIB:msvcrtd.lib=)
+DLLMFCLINK=$(DLLMFCLINK:/NODEFAULTLIB:msvcrtd.lib=)
+!ENDIF
+
!ELSE
mfclflags = $(mfclflags) /NODEFAULTLIB:msvcrt.lib
mfcdlllflags = $(mfcdlllflags) /NODEFAULTLIB:msvcrt.lib
+conlibsdll = $(conlibsdll:msvcrt.lib=msvcrtd.lib)
+guilibsdll = $(guilibsdll:msvcrt.lib=msvcrtd.lib)
!ENDIF
+EXEPREP = rebase -b 0x00400000 -q $@
+DLLPREP = rebase -i $(DESTDIR)\NTDllmap.txt -q $@
+
+!ENDIF
-# Macros for creating/modifying binary targets
# EXE link macro for console applications
-EXECONLINK = $(link) /OUT:$@ $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) $**
+EXECONLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) Advapi32.lib user32.lib version.lib $**
# EXE link macro for GUI applications
-EXEGUILINK = $(link) /OUT:$@ $(ldebug) $(guilflags) $(afslflags) $(guilibsdll) $**
+EXEGUILINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(guilflags) $(afslflags) $(guilibsdll) $**
# EXE link macro for MFC applications
-EXEMFCLINK = $(link) /OUT:$@ $(ldebug) $(mfclflags) $(afslflags) $(mfclibsdll) $**
+EXEMFCLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(mfclflags) $(afslflags) $(mfclibsdll) $**
# DLL link macro for console applications
-DLLCONLINK = $(link) /OUT:$@ $(ldebug) $(dlllflags) $(afslflags) $(conlibsdll) $**
+DLLCONLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(dlllflags) $(afslflags) $(conlibsdll) $**
# DLL link macro for GUI applications
-DLLGUILINK = $(link) /OUT:$@ $(ldebug) $(dlllflags) $(afslflags) $(guilibsdll) $**
+DLLGUILINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(dlllflags) $(afslflags) $(guilibsdll) $**
+EXECONLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) Advapi32.lib user32.lib version.lib $**
+DLLMFCLINK = $(link) /OUT:$@ /PDB:$*.pdb $(ldebug) $(mfcdlllflags) $(afslflags) $(mfclibsdll) $**
-# DLL link macro for MFC applications
-DLLMFCLINK = $(link) /OUT:$@ $(ldebug) $(mfcdlllflags) $(afslflags) $(mfclibsdll) $**
# DLL link macro for resource-only DLLs
DLLRESLINK = $(link) /OUT:$@ $(dlllflags:-entry:_DllMainCRTStartup@12=-noentry) $(afslflags) $**
# Language selection macro
NTLANG = $(DESTDIR)\bin\NTLang.bat
+######### MIDL FLAGS
-# EXE\DLL preparation macros
-# Rebase to avoid conflicts; strip symbols in free build.
-!IF ("$(AFSDEV_BUILDTYPE)" == "FREE")
-EXEPREP = rebase -b 0x00400000 -x $(@D) -q $@
-DLLPREP = rebase -i $(DESTDIR)\NTDllmap.txt -x $(@D) -q $@
-!ELSEIF ("$(AFSDEV_BUILDTYPE)" == "CHECKED")
-EXEPREP = rebase -b 0x00400000 -q $@
-DLLPREP = rebase -i $(DESTDIR)\NTDllmap.txt -q $@
+!IFDEF OSISXP
+AFSDEV_AUXMIDLFLAGS=/Oi
!ENDIF
-# C/C++ compilation macros
-C2OBJ = $(cc) $(cflags) $(cdebug) $(cvarsdll) $(afscflags) $(afscdefs) /c
-CPP2OBJ = $(cc) $(cflags) $(cdebug) $(cvarsdll) $(afscflags) $(afscdefs) /c
-
-# Resource compiler macro
-RC = $(rc) $(rcvars) $(rcflags) $(AFSDEV_AUXRCFLAGS) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\""
-
# Lex/Yacc macros
LEX =1.2.2 a
YACC = bison
-# Inference rules for building and installing targets
-
-# Compile .c files
-.c.obj:
- $(C2OBJ) $*.c
-
-# Compile .cpp files
-.cpp.obj:
- $(CPP2OBJ) $*.cpp
-
-# Compile .rc (resource) files
-.rc.res:
- $(RC) $*.rc
-
-# Install header files
-.SUFFIXES: .h
-
-.h.{$(DESTDIR)\include}.h:
- $(COPY) $(*B).h $(DESTDIR)\include
-
-.h.{$(DESTDIR)\include\afs}.h:
- $(COPY) $(*B).h $(DESTDIR)\include\afs
-
-.h.{$(DESTDIR)\include\rx}.h:
- $(COPY) $(*B).h $(DESTDIR)\include\rx
-
-.h.{$(DESTDIR)\include\WINNT}.h:
- $(COPY) $(*B).h $(DESTDIR)\include\WINNT
*/
#include <stdio.h>
-#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
+#ifndef __APPLE_CC__
+#include <malloc.h>
+#endif
#include <assert.h>
#include <string.h>
exit(1);
}
-int main(int argc, char **argv)
+main(int argc, char **argv)
{
char stampsFile[1024];
char stateFile[1024];
strcat(cmldir, "src/CML");
baseDir = strstr(cmldir, CMLDIR_DFLT);
- assert(baseDir);
programName = argv[0];
This software has been released under the terms of the IBM Public
License. For details, see the LICENSE file in the top-level source
directory or online at http://www.openafs.org/dl/license10.html
+
*/
+#undef _CRTDBG_MAP_ALLOC
#include "stdio.h"
#include "io.h"
#include <assert.h>
#include "windows.h"
#include "malloc.h"
#include "time.h"
+#include "stdlib.h"
+#include "windows.h"
+
+#ifndef intptr_t
+#define intptr_t long
+#endif
void usuage()
{
OR util_cr * \"-[register key value]\" ; aremove register key value\n\
OR util_cr @ file.ini \"[SectionKey]variable=value\" ; update ini-ipr-pwf file\n\
OR util_cr @ file.ini \"[SectionKey]variable=value*DatE*\" ; update ini-ipr-pwf file, insert date\n\
- OR util_cr ~ ;force error\n");
+ OR util_cr ~ ;force error\n\
+ OR util_cr _del [/q=quiet /s=recurese] [*. *. *.] ;delete \n\
+ OR util_cr _cpy [/q=quiet ] [*. *. *.] destinationFolder;\n\
+ OR util_cr _isOS [nt xp 98 9x w2] ;test for OS, return 1 if match else 0\n\
+ OR util_cr _dir !build type!source!object! set current directory in file->home base is used for offset\n\
+ OR unil_cr _ver return compiler version\n" );
exit(0xc000);
}
+struct TRANSLATION {
+ WORD langID; // language ID
+ WORD charset; // character set (code page)
+};
+
+int CheckVersion(int argc,char *argv[])
+{
+ OSVERSIONINFO VersionInfo;
+ int i;
+ memset(&VersionInfo,0,sizeof(VersionInfo));
+ VersionInfo.dwOSVersionInfoSize =sizeof(OSVERSIONINFO);
+ if (!GetVersionEx(&VersionInfo))
+ {
+ return 0XC000;
+ }
+ for (i=2;i<argc;i++)
+ {
+ if (stricmp(argv[i],"nt")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_NT)
+ && (VersionInfo.dwMajorVersion==4)
+ && (VersionInfo.dwMinorVersion==0))
+ return 1;
+ }
+ if (stricmp(argv[i],"xp")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_NT)
+ && (VersionInfo.dwMajorVersion==5)
+ && (VersionInfo.dwMinorVersion==1))
+ return 1;
+ }
+ if (stricmp(argv[i],"w2")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_NT)
+ && (VersionInfo.dwMajorVersion==5)
+ && (VersionInfo.dwMinorVersion==0))
+ return 1;
+ }
+ if (stricmp(argv[i],"98")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS) && (VersionInfo.dwMinorVersion==10))
+ return 1;
+ }
+ if (stricmp(argv[i],"95")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS) && (VersionInfo.dwMinorVersion==0))
+
+ return 1;
+ }
+ if (stricmp(argv[i],"9x")==0)
+ {
+ if (VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
+ return 1;
+ }
+ if (stricmp(argv[i],"_")==0)
+ return 0;
+ }
+ return 0;
+}
void Addkey (const char *hkey,const char *subkey,const char *stag,const char *sval)
{
}
}
+void doremove(BOOL bRecurse,BOOL bQuiet,char* argv)
+{
+ char *pParm;
+ char parm[MAX_PATH+1];
+ char basdir[MAX_PATH+1];
+ strcpy(parm,argv);
+ pParm=parm;
+ GetCurrentDirectory(sizeof(basdir),basdir);
+ if (strrchr(parm,'\\')!=NULL)
+ {/*jump to base directory*/
+ pParm=strrchr(parm,'\\');
+ *pParm=0;
+ if (!SetCurrentDirectory(parm))
+ return;
+ pParm++;
+ }
+ if (!bRecurse)
+ {
+ struct _finddata_t fileinfo;
+ intptr_t hfile;
+ BOOL bmore;
+ char basdir[MAX_PATH+1];
+ GetCurrentDirectory(sizeof(basdir),basdir);
+ hfile=_findfirst(pParm,&fileinfo);
+ bmore=(hfile!=-1);
+ while (bmore)
+ {
+ if ((DeleteFile(fileinfo.name)==1) && (!bQuiet))
+ printf("Remove %s\\%s\n",basdir,fileinfo.name);
+ bmore=(_findnext(hfile,&fileinfo)==0);
+ }
+ _findclose(hfile);
+ } else {
+ /*RECURSIVE LOOP - SCAN directories*/
+ struct _finddata_t fileinfo;
+ intptr_t hfile;
+ BOOL bmore;
+ doremove(FALSE,bQuiet,pParm);
+ hfile=_findfirst("*.*",&fileinfo);
+ bmore=(hfile!=-1);
+ while (bmore)
+ {
+ if (fileinfo.attrib & _A_SUBDIR)
+ {
+ if ((strcmp(fileinfo.name,".")!=0) && (strcmp(fileinfo.name,"..")!=0))
+ {
+ if (SetCurrentDirectory(fileinfo.name))
+ doremove(TRUE,bQuiet,pParm);
+ SetCurrentDirectory(basdir);
+ }
+ }
+ bmore=(_findnext(hfile,&fileinfo)==0);
+ }
+ _findclose(hfile);
+ }
+ SetCurrentDirectory(basdir);
+}
+
+void gencurdir(char *val)
+{
+ char bld[MAX_PATH+1],parm[MAX_PATH+1],src[MAX_PATH+1],obj[MAX_PATH+1],dir[MAX_PATH+1],curdir[MAX_PATH+1];
+ char *p,*po;
+ FILE *f;
+ BOOL isObjAbs,isSrcAbs; /* two flags to determine if either string is not relative*/
+ strcpy(bld,val+1); /*it better be checked or free*/
+ strcpy(src,strchr(bld,'!')+1);
+ strcpy(obj,strchr(src,'!')+1);
+ *strchr(bld,'!')=0;
+ *strchr(obj,'!')=0;
+ *strchr(src,'!')=0;
+ isObjAbs=((*obj=='\\')||(strstr(obj,":")));
+ isSrcAbs=((*src=='\\')||(strstr(src,":")));
+ GetCurrentDirectory(MAX_PATH,dir);
+ strlwr(bld);
+ strlwr(dir);
+ strlwr(src);
+ strlwr(obj);
+ strcpy(curdir,dir);
+ strcat(curdir,"\\ \n");
+ if (GetTempPath(MAX_PATH,parm)==0)
+ exit(0xc000);
+ strcat(parm,"home");
+ if ((f=fopen(parm,"w"))==NULL)
+ exit(0xc000);
+ __try {
+ __try {
+ if (obj[strlen(obj)-1]!='\\')
+ strcat(obj,"\\");
+ if (src[strlen(src)-1]!='\\')
+ strcat(src,"\\");
+ do {/* try to match src or obj*/
+ if ((p=strstr(dir,src)) && isSrcAbs)
+ {
+ po=p;
+ p+=strlen(src);
+ } else if ((p=strstr(dir,src)) && !isSrcAbs && *(p-1)=='\\')
+ {
+ po=p;
+ p+=strlen(src);
+ } else if ( (p=strstr(dir,obj)) && isObjAbs)
+ {
+ po=p;
+ p+=strlen(obj);
+ } else if ((p=strstr(dir,obj)) && !isObjAbs && *(p-1)=='\\')
+ {
+ po=p;
+ p+=strlen(obj);
+ }
+ } while (strstr(p,src)||strstr(p,obj));
+ if (isObjAbs) {
+ sprintf(parm,"OJT=%s%s\\%s \n",obj,bld,p);
+ } else {
+ *po=0;
+ sprintf(parm,"OJT=%s%s%s\\%s \n",dir,obj,bld,p);
+ }
+ if (strcmp(curdir,parm+4)==0) /* current directory is object*/
+ strcpy(parm,"OJT= \n");
+ fwrite(parm,strlen(parm),1,f);
+ if (isSrcAbs) {
+ sprintf(parm,"SRT=%s%s\\ \n",src,p);
+ } else {
+ *(p-strlen(src))=0;
+ sprintf(parm,"SRT=%s%s%s\\ \n",dir,src,p);
+ }
+ if (strcmp(curdir,parm+4)==0) /* current directory is object*/
+ strcpy(parm,"SRT= \n");
+ fwrite(parm,strlen(parm),1,f);
+ /* now lets set the AFS_LASTCMP environment variable */
+ sprintf(parm,"AFS_LASTCMP=%s\\%s",src,p);
+ }
+ __except(EXCEPTION_EXECUTE_HANDLER ){
+ exit(0xc000);
+ }
+ }
+ __finally {
+ fclose(f);
+ }
+}
+
+int isequal(char *msg1,char *msg2,char *disp)
+{
+ int x;
+ strlwr(msg1);
+ strlwr(msg2);
+ if (strcmp(msg1,msg2)!=0)
+ return 0;
+ printf("ERROR -- %s \n",disp);
+ exit(0xc000);
+}
+
+int SetSysEnv(int argc,char * argv[])
+{
+ long ret;
+ DWORD dwResult;
+ printf("assignment %s %s\n",argv[2],argv[3]);
+ Addkey("HKEY_LOCAL_MACHINE","System\\CurrentControlSet\\Control\\Session Manager\\Environment"
+ ,argv[2]
+ ,argv[3]
+ );
+ SendMessageTimeout(HWND_BROADCAST,WM_SETTINGCHANGE,0,(DWORD)"Environment",SMTO_NORMAL,1,&dwResult);
+ return 0;
+}
+
int main(int argc, char* argv[])
{
+/* typedef char * CHARP;*/
char fname[128];
FILE *file;
int l,i;
char **pvar,*ch;
long len;
- typedef char * CHARP;
+ BOOL bRecurse=FALSE;
+ BOOL bQuiet=FALSE;
+ if (argc<2)
+ usuage();
+ if (strcmp(argv[1],"_sysvar")==0)
+ {
+ if (argc<4)
+ usuage();
+ return (SetSysEnv(argc,argv));
- if (argc<3)
+ }
+ if (strnicmp(argv[1],"_dir",4)==0){ /*get current directory routine*/
+ gencurdir(argv[1]);
+ return 0;
+ }
+ if (strnicmp(argv[1],"_isequal",4)==0){ /*get current directory routine*/
+ return isequal(argv[2],argv[3],argv[4]);
+ }
+ if (stricmp(argv[1],"_del")==0) /*DELETE routine*/
+ {
+ int iargc=2;
+ if ((argc>iargc) && (stricmp(argv[iargc],"/s")==0))
+ {
+ iargc++;
+ bRecurse=TRUE;
+ }
+ if ((argc>iargc) && (stricmp(argv[iargc],"/q")==0))
+ {
+ iargc++;
+ bQuiet=TRUE;
+ }
+ if ((argc>iargc) && (stricmp(argv[iargc],"/s")==0))
+ {
+ iargc++;
+ bRecurse=TRUE;
+ }
+ while (iargc<argc)
+ {
+ doremove(bRecurse,bQuiet,argv[iargc]);
+ iargc++;
+ }
+ return 0;
+ }
+ if (strcmp(argv[1],"_ver")==0)
+ {
+ return _MSC_VER;
+ }
+ if (argc<3)
usuage();
+ if (strcmp(argv[1],"_isOS")==0)
+ return CheckVersion(argc,argv);
if (strcmp(argv[1],"}")==0)
{
char v1[4],v2[4],v3[4],v4[4];
ch++;
}
fclose(file);
- pvar=(CHARP *)malloc(argc*sizeof(CHARP));
+ pvar=(char **)malloc(argc*sizeof(char *));
for (i=1;i<argc-1;i++)
pvar[i]=argv[i+1];
pvar[argc-1]=NULL;
# Library component lists.
LIBOBJS = \
- des.obj \
- cbc_encrypt.obj \
- pcbc_encrypt.obj \
- cksum.obj \
- new_rnd_key.obj \
- key_sched.obj \
- debug_decl.obj \
- quad_cksum.obj \
- key_parity.obj \
- weak_key.obj \
- read_pssword.obj \
- strng_to_key.obj \
- misc.obj \
- util.obj \
- crypt.obj
+ $(OJT)\des.obj \
+ $(OJT)\cbc_encrypt.obj \
+ $(OJT)\pcbc_encrypt.obj \
+ $(OJT)\cksum.obj \
+ $(OJT)\new_rnd_key.obj \
+ $(OJT)\key_sched.obj \
+ $(OJT)\debug_decl.obj \
+ $(OJT)\quad_cksum.obj \
+ $(OJT)\key_parity.obj \
+ $(OJT)\weak_key.obj \
+ $(OJT)\read_pssword.obj \
+ $(OJT)\strng_to_key.obj \
+ $(OJT)\misc.obj \
+ $(OJT)\util.obj \
+ $(OJT)\crypt.obj
LIBFILE = $(DESTDIR)\lib\afsdes.lib
# Make generated files.
MAKETARG = $** $@
-key_perm.h: make_keyperm.exe
+key_perm.h: $(OJT)\make_keyperm.exe
$(MAKETARG)
-p_table.h: make_p_table.exe
+p_table.h: $(OJT)\make_p_table.exe
$(MAKETARG)
-s_table.h: make_s_table.exe
+s_table.h: $(OJT)\make_s_table.exe
$(MAKETARG)
-odd.h: make_odd.exe
+odd.h: $(OJT)\make_odd.exe
$(MAKETARG)
-p.c: make_p.exe
+p.c: $(OJT)\make_p.exe
$(MAKETARG)
-s.c: make_s.exe
+s.c: $(OJT)\make_s.exe
$(MAKETARG)
-fp.c: make_fp.exe
+fp.c: $(OJT)\make_fp.exe
$(MAKETARG)
-ip.c: make_ip.exe
+ip.c: $(OJT)\make_ip.exe
$(MAKETARG)
# Make generators.
-misc.obj: AFS_component_version_number.c
+$(OJT)\misc.obj: AFS_component_version_number.c
-make_keyperm.exe: make_keyperm.obj misc.obj main.obj
+$(OJT)\make_keyperm.exe: $(OJT)\make_keyperm.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_p_table.exe: make_p_table.obj misc.obj main.obj
+$(OJT)\make_p_table.exe: $(OJT)\make_p_table.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_s_table.exe: make_s_table.obj misc.obj main.obj
+$(OJT)\make_s_table.exe: $(OJT)\make_s_table.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_odd.exe: make_odd.obj misc.obj main.obj
+$(OJT)\make_odd.exe: $(OJT)\make_odd.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_p.exe: make_p.obj misc.obj main.obj
+$(OJT)\make_p.exe: $(OJT)\make_p.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_s.exe: make_s.obj misc.obj main.obj
+$(OJT)\make_s.exe: $(OJT)\make_s.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_fp.exe: make_fp.obj misc.obj main.obj
+$(OJT)\make_fp.exe: $(OJT)\make_fp.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
-make_ip.exe: make_ip.obj misc.obj main.obj
+$(OJT)\make_ip.exe: $(OJT)\make_ip.obj $(OJT)\misc.obj $(OJT)\main.obj
$(EXECONLINK)
install: $(GENERATED_FILES) $(LIBFILE) $(INCFILES)
clean::
$(DEL) $(LIBFILE) $(GENERATED_FILES)
+mkdir:
+
!include ..\..\config\NTMakefile.$(SYS_NAME)
-testit.exe: testit.obj $(DESTDIR)\lib\afsdes.lib $(DESTDIR)\lib\afs\afsutil.lib
+$(OJT)\testit.exe: $(OJT)\testit.obj $(DESTDIR)\lib\afsdes.lib $(DESTDIR)\lib\afs\afsutil.lib
$(EXECONLINK)
-verify.exe: verify.obj $(DESTDIR)\lib\afsdes.lib $(DESTDIR)\lib\afs\afsutil.lib
+$(OJT)\verify.exe: $(OJT)\verify.obj $(DESTDIR)\lib\afsdes.lib $(DESTDIR)\lib\afs\afsutil.lib
$(EXECONLINK)
-key_test.exe: key_test.obj $(DESTDIR)\lib\afsdes.lib $(DESTDIR)\lib\afs\afsutil.lib
+$(OJT)\key_test.exe: $(OJT)\key_test.obj $(DESTDIR)\lib\afsdes.lib $(DESTDIR)\lib\afs\afsutil.lib
$(EXECONLINK)
-tests: testit.exe verify.exe key_test.exe
+$(OJT)\tests: $(OJT)\testit.exe $(OJT)\verify.exe $(OJT)\key_test.exe
+
+mkdir:
+
DIR_LIBFILE = $(DESTDIR)\lib\afs\afsdir.lib
DIR_LIBOBJS =\
- buffer.obj \
- dir.obj \
- salvage.obj \
- AFS_component_version_number.obj
+ $(OJT)\buffer.obj \
+ $(OJT)\dir.obj \
+ $(OJT)\salvage.obj \
+ $(OJT)\AFS_component_version_number.obj
$(DIR_LIBFILE): $(DIR_LIBOBJS)
$(LIBARCH)
clean::
-
-
-
+mkdir:
+
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
-tests: dtest.exe
+tests: $(OJT)\dtest.exe
-dtest.exe: dtest.obj DEST\lib\afs\afsdir.lib
+$(OJT)\dtest.exe: $(OJT)\dtest.obj $(DESTDIR)\lib\afs\afsdir.lib
$(EXECONLINK)
+
+mkdir:
+
TRANSLATE_ET_EXEFILE = $(DESTDIR)\bin\translate_et.exe
TRANSLATE_ET_EXEOBJS =\
- translate_et_nt.obj \
- translate_et.res
+ $(OJT)\translate_et_nt.obj \
+ $(OJT)\translate_et.res
TRANSLATE_ET_EXELIBS =\
$(DESTDIR)\lib\afs\afsadminutil.lib \
############################################################################
# Definitions for generating versioninfo resources
-translate_et.res: translate_et.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\translate_et.res: AFS_component_version_number.h
############################################################################
# Install target; primary makefile target
# Local clean target; augments predefined clean target
clean::
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsint.lib
LIBOBJS =\
- afscbint.cs.obj \
- afscbint.ss.obj \
- afscbint.xdr.obj \
- afsint.cs.obj \
- afsint.ss.obj \
- afsint.xdr.obj \
- afsaux.obj \
- AFS_component_version_number.obj
-
-$(LIBFILE): $(LIBOBJS)
+ $(OJT)\afscbint.cs.obj \
+ $(OJT)\afscbint.ss.obj \
+ $(OJT)\afscbint.xdr.obj \
+ $(OJT)\afsint.cs.obj \
+ $(OJT)\afsint.ss.obj \
+ $(OJT)\afsint.xdr.obj \
+ $(OJT)\afsaux.obj \
+ $(OJT)\AFS_component_version_number.obj
+
+$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
-
# use rxgen on afscbint.xg and afsint.xg
afscbint.cs.c afscbint.ss.c afscbint.xdr.c afscbint.h : afscbint.xg common.xg
$(RXGEN) -x -y afscbint.xg
MT_LIBFILE = $(DESTDIR)\lib\afs\mtafsint.lib
MT_LIBOBJS =\
- afscbint.cs_mt.obj \
- afscbint.ss_mt.obj \
- afscbint.xdr_mt.obj \
- afsint.cs_mt.obj \
- afsint.ss_mt.obj \
- afsint.xdr_mt.obj \
- afsaux_mt.obj \
- AFS_component_version_number.obj
+ $(OJT)\afscbint.cs_mt.obj \
+ $(OJT)\afscbint.ss_mt.obj \
+ $(OJT)\afscbint.xdr_mt.obj \
+ $(OJT)\afsint.cs_mt.obj \
+ $(OJT)\afsint.ss_mt.obj \
+ $(OJT)\afsint.xdr_mt.obj \
+ $(OJT)\afsaux_mt.obj \
+ $(OJT)\AFS_component_version_number.obj
+
-afscbint.cs_mt.obj:afscbint.cs.c
- $(C2OBJ) afscbint.cs.c -DAFS_PTHREAD_ENV /Foafscbint.cs_mt.obj
+$(OJT)\afscbint.cs_mt.obj:afscbint.cs.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-afscbint.ss_mt.obj:afscbint.ss.c
- $(C2OBJ) afscbint.ss.c -DAFS_PTHREAD_ENV /Foafscbint.ss_mt.obj
+$(OJT)\afscbint.ss_mt.obj:afscbint.ss.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-afscbint.xdr_mt.obj:afscbint.xdr.c
- $(C2OBJ) afscbint.xdr.c -DAFS_PTHREAD_ENV /Foafscbint.xdr_mt.obj
+$(OJT)\afscbint.xdr_mt.obj:afscbint.xdr.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-afsint.cs_mt.obj:afsint.cs.c
- $(C2OBJ) afsint.cs.c -DAFS_PTHREAD_ENV /Foafsint.cs_mt.obj
+$(OJT)\afsint.cs_mt.obj:afsint.cs.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-afsint.ss_mt.obj:afsint.ss.c
- $(C2OBJ) afsint.ss.c -DAFS_PTHREAD_ENV /Foafsint.ss_mt.obj
+$(OJT)\afsint.ss_mt.obj:afsint.ss.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-afsint.xdr_mt.obj:afsint.xdr.c
- $(C2OBJ) afsint.xdr.c -DAFS_PTHREAD_ENV /Foafsint.xdr_mt.obj
+$(OJT)\afsint.xdr_mt.obj:afsint.xdr.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-afsaux_mt.obj:afsaux.c
- $(C2OBJ) afsaux.c -DAFS_PTHREAD_ENV /Foafsaux_mt.obj
+$(OJT)\afsaux_mt.obj:afsaux.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-$(MT_LIBFILE): $(MT_LIBOBJS)
+$(MT_LIBFILE): $(MT_LIBOBJS)
$(LIBARCH)
install: $(LIBFILE) $(INCFILES) $(MT_LIBFILE)
clean::
$(DEL) *.cs.c *.ss.c *.xdr.c afsint.h afscbint.h
+ $(DEL) $(LIBFILE) $(MT_LIBFILE)
+mkdir:
+
KAUTH_LIBFILE = $(DESTDIR)\lib\afs\afskauth.lib
KAUTH_LIBOBJS =\
- kauth.xdr.obj \
- kauth.cs.obj \
- kaaux.obj \
- client.obj \
- authclient.obj \
- token.obj \
- kautils.obj \
- kalocalcell.obj \
- kaerrors.obj \
- user_nt.obj \
- krb_tf.obj \
- cm_config.obj \
- AFS_component_version_number.obj
+ $(OJT)\kauth.xdr.obj \
+ $(OJT)\kauth.cs.obj \
+ $(OJT)\kaaux.obj \
+ $(OJT)\client.obj \
+ $(OJT)\authclient.obj \
+ $(OJT)\token.obj \
+ $(OJT)\kautils.obj \
+ $(OJT)\kalocalcell.obj \
+ $(OJT)\kaerrors.obj \
+ $(OJT)\user_nt.obj \
+ $(OJT)\krb_tf.obj \
+ $(OJT)\cm_config.obj \
+ $(OJT)\AFS_component_version_number.obj
WINNTAFSD = ..\WINNT\afsd\
-cm_config.obj: $(WINNTAFSD)\cm_config.c
- $(C2OBJ) $(WINNTAFSD)\cm_config.c
+$(OJT)\cm_config.obj: $(WINNTAFSD)\cm_config.c
+ $(C2OBJ) $**
$(KAUTH_LIBFILE): $(KAUTH_LIBOBJS)
$(LIBARCH)
KAUTH_KRB_LIBFILE = $(DESTDIR)\lib\afs\afskauth.krb.lib
KAUTH_KRB_LIBOBJS =\
- kauth.xdr.obj \
- kauth.cs.obj \
- kaaux.obj \
- client.obj \
- authclient.obj \
- token.obj \
- kautils.obj \
- kalocalcell.obj \
- kaerrors.obj \
- user.krb.obj \
- krb_tf.obj \
- cm_config.obj \
- AFS_component_version_number.obj
+ $(OJT)\kauth.xdr.obj \
+ $(OJT)\kauth.cs.obj \
+ $(OJT)\kaaux.obj \
+ $(OJT)\client.obj \
+ $(OJT)\authclient.obj \
+ $(OJT)\token.obj \
+ $(OJT)\kautils.obj \
+ $(OJT)\kalocalcell.obj \
+ $(OJT)\kaerrors.obj \
+ $(OJT)\user.krb.obj \
+ $(OJT)\krb_tf.obj \
+ $(OJT)\cm_config.obj \
+ $(OJT)\AFS_component_version_number.obj
$(KAUTH_KRB_LIBFILE): $(KAUTH_KRB_LIBOBJS)
$(LIBARCH)
#make user.krb.obj
-user.krb.obj: user_nt.c $(INCFILES) $(DESTDIR)/include/afs/vice.h
- $(C2OBJ) user_nt.c /DAFS_KERBEROS_ENV /Fouser.krb.obj
+
+user_nt.c : $(INCFILES) $(DESTDIR)/include/afs/vice.h
+
+$(OJT)\user.krb.obj: user_nt.c
+ $(C2OBJ) $** -DAFS_KERBEROS_ENV
# common libs
KASERVER = $(DESTDIR)\root.server\usr\afs\bin\kaserver.exe
KASERVER_OBJS =\
- kaserver.obj \
- kautils.obj \
- kalocalcell.obj \
- kadatabase.obj \
- krb_udp.obj \
- kaprocs.obj \
- kalog.obj \
- kauth.ss.obj \
- kauth.xdr.obj \
- kaaux.obj \
- kaauxdb.obj \
- kaserver.res
+ $(OJT)\kaserver.obj \
+ $(OJT)\kautils.obj \
+ $(OJT)\kalocalcell.obj \
+ $(OJT)\kadatabase.obj \
+ $(OJT)\krb_udp.obj \
+ $(OJT)\kaprocs.obj \
+ $(OJT)\kalog.obj \
+ $(OJT)\kauth.ss.obj \
+ $(OJT)\kauth.xdr.obj \
+ $(OJT)\kaaux.obj \
+ $(OJT)\kaauxdb.obj \
+ $(OJT)\kaserver.res
KASERVER_EXELIBS =\
$(DESTDIR)\lib\afs\afsprocmgmt.lib
$(EXECONLINK)
$(EXEPREP)
-#build kadatabase.obj
-kadatabase.obj: kadatabase.c $(INCFILES)
- $(C2OBJ) kadatabase.c /DSPECIAL=1 /Fokadatabase.obj
-#build kaprocs.obj
-kaprocs.obj: kaprocs.c $(INCFILES)
- $(C2OBJ) kaprocs.c /DSPECIAL=1 /Fokaprocs.obj
+#build $(OJT)\kadatabase.obj
+
+$(OJT)\kadatabase.obj: kadatabase.c
+ $(C2OBJ) $** /DSPECIAL=1
+
+#build $(OJT)\kaprocs.obj
+$(OJT)\kaprocs.obj: kaprocs.c
+ $(C2OBJ) $** /DSPECIAL=1
############################################################################
# build kas
KAS = $(DESTDIR)\root.server\usr\afs\bin\kas.exe
KAS_OBJS =\
- kas.obj \
- admin_tools.obj \
- kkids.obj \
- kas.res
+ $(OJT)\kas.obj \
+ $(OJT)\admin_tools.obj \
+ $(OJT)\kkids.obj \
+ $(OJT)\kas.res
$(KAS): $(KAS_OBJS) $(AFSLIBS) $(KAUTH_LIBFILE) $(TOKENLIB)
$(EXECONLINK)
KPASSWD_EXEFILE = $(DESTDIR)\bin\kpasswd.exe
KPASSWD_OBJS =\
- kpasswd.obj \
- kkids.obj \
- kpasswd.res
+ $(OJT)\kpasswd.obj \
+ $(OJT)\kkids.obj \
+ $(OJT)\kpasswd.res
$(KPASSWD_EXEFILE): $(KPASSWD_OBJS) $(AFSLIBS) $(KAUTH_LIBFILE) $(TOKENLIB)
$(EXECONLINK)
$(EXEPREP)
#kpwvalid.exe
-kpwvalid.exe: kpwvalid.obj $(AFSLIBS) $(KAUTH_LIBFILE)
+$(OJT)\kpwvalid.exe: $(OJT)\kpwvalid.obj $(AFSLIBS) $(KAUTH_LIBFILE)
$(EXECONLINK)
#kdb.exe - Not implemented for NT - because dbm not available on NT
-#kdb.exe: kdb.obj $(AFSLIBS) $(KAUTH_LIBFILE)
+#kdb.exe: $(OJT)\kdb.obj $(AFSLIBS) $(KAUTH_LIBFILE)
# $(EXECONLINK)
-
-
#rebuild.exe
-rebuild.exe: rebuild.obj kautils.obj $(AFSLIBS)
+$(OJT)\rebuild.exe: $(OJT)\rebuild.obj $(OJT)\kautils.obj $(AFSLIBS)
$(EXECONLINK)
############################################################################
# Definitions for generating versioninfo resources
-kaserver.res: kaserver.rc AFS_component_version_number.h
+$(OJT)\kaserver.res: AFS_component_version_number.h
-kas.res: kas.rc AFS_component_version_number.h
+$(OJT)\kas.res: AFS_component_version_number.h
-kpasswd.res: kpasswd.rc AFS_component_version_number.h
+$(OJT)\kpasswd.res: AFS_component_version_number.h
+
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
############################################################################
# rxgen on kauth.rg
-kauth.ss.c kauth.cs.c kauth.xdr.c $(DESTDIR)\include\afs\kauth.h: kauth.rg
+kauth.ss.c kauth.cs.c kauth.xdr.c kauth.h: kauth.rg
$(RXGEN) -x $**
- $(COPY) kauth.h $(DESTDIR)\include\afs\kauth.h
############################################################################
# compile_et on kaerrors.c
-kaerrors.c $(DESTDIR)\include\afs\kautils.h: kaerrors.et kautils.p.h
+kaerrors.c kautils.h: kaerrors.et kautils.p.h
$(DEL) kautils.h kaerrors.c
$(COMPILE_ET) kaerrors -h kautils
- $(COPY) kautils.h $(DESTDIR)\include\afs\kautils.h
############################################################################
# install
install: $(INCFILES) $(KAUTH_LIBFILE) $(KAUTH_KRB_LIBFILE) $(KASERVER) $(KAS) \
$(KPASSWD_EXEFILE) \
- kpwvalid.exe rebuild.exe \
+ $(OJT)\kpwvalid.exe $(OJT)\rebuild.exe \
$(DESTDIR)\etc\kas.exe
install9X: $(INCFILES) $(KAUTH_LIBFILE) $(KAUTH_KRB_LIBFILE) \
# Local clean target; augments predefined clean target
clean::
- $(DEL) $(KPASSWD_EXEFILE)
+ $(DEL) $(KPASSWD_EXEFILE) $(INCFILES)
$(DEL) kauth.cs.c kauth.h kauth.ss.c kauth.xdr.c kautils.h
$(DEL) kaerrors.c
+mkdir:
+
$(DESTDIR)\afs\afskauth.lib
-multiklog.exe: multiklog.obj
+$(OJT)\multiklog.exe: $(OJT)\multiklog.obj
$(EXECONLINK) $(EXELIBS)
-test_date.exe: test_date.obj
+$(OJT)\test_date.exe: $(OJT)\test_date.obj
$(EXECONLINK) $(EXELIBS)
-test_badtix.exe: test_badtix.obj
+$(OJT)\test_badtix.exe: $(OJT)\test_badtix.obj
$(EXECONLINK) $(EXELIBS)
-decode_ticket.exe: decode_ticket.obj
+$(OJT)\decode_ticket.exe: $(OJT)\decode_ticket.obj
$(EXECONLINK) $(EXELIBS)
-test_interim_ktc.exe: test_interim_ktc.obj
+$(OJT)\test_interim_ktc.exe: $(OJT)\test_interim_ktc.obj
$(EXECONLINK) $(EXELIBS)
-test_rxkad_free: test_rxkad_free.o
+$(OJT)\test_rxkad_free: test_rxkad_free.o
$(EXECONLINK) $(EXELIBS)
-test_getticket.exe: test_getticket.obj
+$(OJT)\test_getticket.exe: $(OJT)\test_getticket.obj
$(EXECONLINK) $(EXELIBS)
-background.exe: background.obj
+$(OJT)\background.exe: $(OJT)\background.obj
$(EXECONLINK) $(EXELIBS)
-test tests all: multiklog.exe test_date.exe test_badtix.exe decode_ticket.exe \
- test_interim_ktc.exe test_getticket.exe background.exe
+test tests all: $(OJT)\multiklog.exe $(OJT)\test_date.exe $(OJT)\test_badtix.exe $(OJT)\decode_ticket.exe \
+ $(OJT)\test_interim_ktc.exe $(OJT)\test_getticket.exe $(OJT)\background.exe
# test_interim_ktc depends on normally running ka & pr servers. Also on
clean::
-
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsacl.lib
LIBOBJS =\
- aclprocs.obj \
- netprocs.obj \
- AFS_component_version_number.obj
+ $(OJT)\aclprocs.obj \
+ $(OJT)\netprocs.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
$(CD) test
$(MAKECMD) /f NTMakefile acltest
+
+mkdir:
+
clean::
$(DEL) $(INCFILES)
+
+mkdir:
+
VLSERVER = ..\..\vlserver
VOLSER = ..\..\volser
-
-afs_AdminBosErrors.c : afs_AdminBosErrors.et
+INCFILEDIR=$(DESTDIR)\include\afs
+
+INCFILES= $(INCFILEDIR)\afs_AdminCommonErrors.h \
+ $(INCFILEDIR)\afs_AdminBosErrors.h \
+ $(INCFILEDIR)\afs_AdminCfgErrors.h \
+ $(INCFILEDIR)\afs_AdminClientErrors.h \
+ $(INCFILEDIR)\afs_AdminKasErrors.h \
+ $(INCFILEDIR)\afs_AdminMiscErrors.h \
+ $(INCFILEDIR)\afs_AdminPtsErrors.h \
+ $(INCFILEDIR)\afs_AdminUtilErrors.h \
+ $(INCFILEDIR)\afsconfig.h \
+ $(INCFILEDIR)\afs_AdminVosErrors.h
+
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
+
+afs_AdminBosErrors.h afs_AdminBosErrors.c : afs_AdminBosErrors.et
$(DEL) afs_AdminBosErrors.h afs_AdminBosErrors.c
$(COMPILE_ET) afs_AdminBosErrors -h afs_AdminBosErrors
- $(COPY) afs_AdminBosErrors.h $(DESTDIR)\include\afs\afs_AdminBosErrors.h
-afs_AdminCfgErrors.c : afs_AdminCfgErrors.et
+afs_AdminCfgErrors.h afs_AdminCfgErrors.c : afs_AdminCfgErrors.et
$(DEL) afs_AdminCfgErrors.h afs_AdminCfgErrors.c
$(COMPILE_ET) afs_AdminCfgErrors -h afs_AdminCfgErrors
- $(COPY) afs_AdminCfgErrors.h $(DESTDIR)\include\afs\afs_AdminCfgErrors.h
-afs_AdminClientErrors.c : afs_AdminClientErrors.et
+afs_AdminClientErrors.h afs_AdminClientErrors.c : afs_AdminClientErrors.et
$(DEL) afs_AdminClientErrors.h afs_AdminClientErrors.c
$(COMPILE_ET) afs_AdminClientErrors -h afs_AdminClientErrors
- $(COPY) afs_AdminClientErrors.h $(DESTDIR)\include\afs\afs_AdminClientErrors.h
-afs_AdminCommonErrors.c: afs_AdminCommonErrors.et
+afs_AdminCommonErrors.h afs_AdminCommonErrors.c: afs_AdminCommonErrors.et
$(DEL) afs_AdminCommonErrors.h afs_AdminCommonErrors.c
$(COMPILE_ET) afs_AdminCommonErrors -h afs_AdminCommonErrors
- $(COPY) afs_AdminCommonErrors.h $(DESTDIR)\include\afs\afs_AdminCommonErrors.h
-afs_AdminKasErrors.c : afs_AdminKasErrors.et
+afs_AdminKasErrors.h afs_AdminKasErrors.c : afs_AdminKasErrors.et
$(DEL) afs_AdminKasErrors.h afs_AdminKasErrors.c
$(COMPILE_ET) afs_AdminKasErrors -h afs_AdminKasErrors
- $(COPY) afs_AdminKasErrors.h $(DESTDIR)\include\afs\afs_AdminKasErrors.h
-afs_AdminMiscErrors.c : afs_AdminMiscErrors.et
+afs_AdminMiscErrors.h afs_AdminMiscErrors.c : afs_AdminMiscErrors.et
$(DEL) afs_AdminMiscErrors.h afs_AdminMiscErrors.c
$(COMPILE_ET) afs_AdminMiscErrors -h afs_AdminMiscErrors
- $(COPY) afs_AdminMiscErrors.h $(DESTDIR)\include\afs\afs_AdminMiscErrors.h
-afs_AdminPtsErrors.c : afs_AdminPtsErrors.et
+afs_AdminPtsErrors.h afs_AdminPtsErrors.c : afs_AdminPtsErrors.et
$(DEL) afs_AdminPtsErrors.h afs_AdminPtsErrors.c
$(COMPILE_ET) afs_AdminPtsErrors -h afs_AdminPtsErrors
- $(COPY) afs_AdminPtsErrors.h $(DESTDIR)\include\afs\afs_AdminPtsErrors.h
-afs_AdminUtilErrors.c : afs_AdminUtilErrors.et
+afs_AdminUtilErrors.h afs_AdminUtilErrors.c : afs_AdminUtilErrors.et
$(DEL) afs_AdminUtilErrors.h afs_AdminUtilErrors.c
$(COMPILE_ET) afs_AdminUtilErrors -h afs_AdminUtilErrors
- $(COPY) afs_AdminUtilErrors.h $(DESTDIR)\include\afs\afs_AdminUtilErrors.h
-afs_AdminVosErrors.c : afs_AdminVosErrors.et
+afs_AdminVosErrors.h afs_AdminVosErrors.c : afs_AdminVosErrors.et
$(DEL) afs_AdminVosErrors.h afs_AdminVosErrors.c
$(COMPILE_ET) afs_AdminVosErrors -h afs_AdminVosErrors
- $(COPY) afs_AdminVosErrors.h $(DESTDIR)\include\afs\afs_AdminVosErrors.h
-
ERRORSOBJS = \
- afs_AdminBosErrors.obj \
- afs_AdminCfgErrors.obj \
- afs_AdminClientErrors.obj \
- afs_AdminCommonErrors.obj \
- afs_AdminKasErrors.obj \
- afs_AdminMiscErrors.obj \
- afs_AdminPtsErrors.obj \
- afs_AdminUtilErrors.obj \
- afs_AdminVosErrors.obj \
- rxkad_errs.obj \
- boserr.obj \
- kaerrors.obj \
- ktc_errors.obj \
- cmd_errors.obj \
- pterror.obj \
- uerrors.obj \
- vl_errors.obj \
- acfg_errors.obj \
- volerr.obj
+ $(OJT)\afs_AdminBosErrors.obj \
+ $(OJT)\afs_AdminCfgErrors.obj \
+ $(OJT)\afs_AdminClientErrors.obj \
+ $(OJT)\afs_AdminCommonErrors.obj \
+ $(OJT)\afs_AdminKasErrors.obj \
+ $(OJT)\afs_AdminMiscErrors.obj \
+ $(OJT)\afs_AdminPtsErrors.obj \
+ $(OJT)\afs_AdminUtilErrors.obj \
+ $(OJT)\afs_AdminVosErrors.obj
+
+AUTHOBJS=\
+ $(OJT)\ktc_errors.obj \
+ $(OJT)\acfg_errors.obj
+
+BOZOOBJS=\
+ $(OJT)\boserr.obj
+
+KAUTHOBJS=\
+ $(OJT)\kaerrors.obj
+
+CMDOBJS=\
+ $(OJT)\cmd_errors.obj
+
+PTSERVEROBJS=\
+ $(OJT)\pterror.obj
+
+UBIKOBJS=\
+ $(OJT)\uerrors.obj
+RXKADOBJS=\
+ $(OJT)\rxkad_errs.obj
+
+VOLSEROBJS=\
+ $(OJT)\volerr.obj
+
+VLSERVEROBJS=\
+ $(OJT)\vl_errors.obj
ADMINOBJS = \
- afs_utilAdmin.obj
+ $(OJT)\afs_utilAdmin.obj
DLLOBJS =\
$(ADMINOBJS) \
$(ERRORSOBJS) \
- afsadminutil.res
+ $(AUTHOBJS) \
+ $(BOZOOBJS) \
+ $(KAUTHOBJS) \
+ $(CMDOBJS) \
+ $(PTSERVEROBJS) \
+ $(VLSERVEROBJS) \
+ $(VOLSEROBJS) \
+ $(UBIKOBJS) \
+ $(RXKADOBJS) \
+ $(OJT)\afsadminutil.res
LIBINCLUDES = \
$(DESTDIR)\include\afs\afs_utilAdmin.h \
$(COPY) $*.lib $(ILIBDIR)
$(DEL) $*.lib $*.exp
-install: afs_AdminCommonErrors.c \
+install: $(INCFILES) afs_AdminCommonErrors.c \
afs_AdminBosErrors.c \
afs_AdminCfgErrors.c \
afs_AdminClientErrors.c \
$(DLLFILE)
# Definitions for generating versioninfo resources
-afsadminutil.res: afsadminutil.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afsadminutil.res: AFS_component_version_number.h
-ktc_errors.obj: $(AUTH)\ktc_errors.c
- $(C2OBJ) $(AUTH)\ktc_errors.c
-
-acfg_errors.obj: $(AUTH)\acfg_errors.c
- $(C2OBJ) $(AUTH)\acfg_errors.c
-
-boserr.obj: $(BOZO)\boserr.c
- $(C2OBJ) $(BOZO)\boserr.c
-
-cmd_errors.obj: $(CMD)\cmd_errors.c
- $(C2OBJ) $(CMD)\cmd_errors.c
-
-kaerrors.obj: $(KAUTH)\kaerrors.c
- $(C2OBJ) $(KAUTH)\kaerrors.c
-
-pterror.obj: $(PTSERVER)\pterror.c
- $(C2OBJ) $(PTSERVER)\pterror.c
-
-rxkad_errs.obj: $(RXKAD)\rxkad_errs.c
- $(C2OBJ) $(RXKAD)\rxkad_errs.c
-
-uerrors.obj: $(UBIK)\uerrors.c
- $(C2OBJ) $(UBIK)\uerrors.c
-
-vl_errors.obj: $(VLSERVER)\vl_errors.c
- $(C2OBJ) $(VLSERVER)\vl_errors.c
-
-volerr.obj: $(VOLSER)\volerr.c
- $(C2OBJ) $(VOLSER)\volerr.c
+$(AUTHOBJS): $(AUTH)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
-clean::
- $(DEL) afs_AdminBosErrors.c afs_AdminBosErrors.h afs_AdminBosErrors.obj
- $(DEL) afs_AdminCfgErrors.c afs_AdminCfgErrors.h afs_AdminCfgErrors.obj
- $(DEL) afs_AdminClientErrors.c afs_AdminClientErrors.h afs_AdminClientErrors.obj
- $(DEL) afs_AdminCommonErrors.c afs_AdminCommonErrors.h afs_AdminCommonErrors.obj
- $(DEL) afs_AdminKasErrors.c afs_AdminKasErrors.h afs_AdminKasErrors.obj
- $(DEL) afs_AdminMiscErrors.c afs_AdminMiscErrors.h afs_AdminMiscErrors.obj
- $(DEL) afs_AdminPtsErrors.c afs_AdminPtsErrors.h afs_AdminPtsErrors.obj
- $(DEL) afs_AdminUtilErrors.c afs_AdminUtilErrors.h afs_AdminUtilErrors.obj
- $(DEL) afs_AdminVosErrors.c afs_AdminVosErrors.h afs_AdminVosErrors.obj
+$(BOZOOBJS): $(BOZO)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(KAUTHOBJS): $(KAUTH)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(PTSERVEROBJS): $(PTSERVER)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+$(CMDOBJS): $(CMD)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(UBIKOBJS): $(UBIK)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(RXKADOBJS): $(RXKAD)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(VOLSEROBJS): $(VOLSER)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+$(VLSERVEROBJS): $(VLSERVER)\$$(@B).c
+ $(C2OBJ) -I$*(*D) $**
+
+clean::
+ $(DEL) afs_AdminBosErrors.c afs_AdminBosErrors.h $(OJT)\afs_AdminBosErrors.obj
+ $(DEL) afs_AdminCfgErrors.c afs_AdminCfgErrors.h $(OJT)\afs_AdminCfgErrors.obj
+ $(DEL) afs_AdminClientErrors.c afs_AdminClientErrors.h $(OJT)\afs_AdminClientErrors.obj
+ $(DEL) afs_AdminCommonErrors.c afs_AdminCommonErrors.h $(OJT)\afs_AdminCommonErrors.obj
+ $(DEL) afs_AdminKasErrors.c afs_AdminKasErrors.h $(OJT)\afs_AdminKasErrors.obj
+ $(DEL) afs_AdminMiscErrors.c afs_AdminMiscErrors.h $(OJT)\afs_AdminMiscErrors.obj
+ $(DEL) afs_AdminPtsErrors.c afs_AdminPtsErrors.h $(OJT)\afs_AdminPtsErrors.obj
+ $(DEL) afs_AdminUtilErrors.c afs_AdminUtilErrors.h $(OJT)\afs_AdminUtilErrors.obj
+ $(DEL) afs_AdminVosErrors.c afs_AdminVosErrors.h $(OJT)\afs_AdminVosErrors.obj
+ $(DEL) $(INCFILES)
+ $(DEL) $(DLLOBJS)
+ $(DEL) $(DLLFILE)
+mkdir:
+
!include ..\..\config\NTMakefile.version
-BOZO = ..\..\bozo\
+BOZO = ..\..\bozo
+RX = ..\..\rx
+
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
BOZOOBJS = \
- bosint.xdr.obj bosint.cs.obj
+ $(OJT)\bosint.xdr.obj $(OJT)\bosint.cs.obj
ADMINOBJS = \
- afs_bosAdmin.obj
+ $(OJT)\afs_bosAdmin.obj
DLLOBJS =\
$(ADMINOBJS) \
$(BOZOOBJS) \
- afsbosadmin.res
+ $(RXOBJS) \
+ $(OJT)\afsbosadmin.res
LIBINCLUDES = \
$(DESTDIR)\include\afs\afs_bosAdmin.h
install: $(DLLFILE) $(LIBINCLUDES)
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
-bosint.xdr.obj: $(BOZO)\bosint.xdr.c
- $(C2OBJ) $(BOZO)\bosint.xdr.c
+$(BOZOOBJS): $(BOZO)\$$(@B).c
+ $(C2OBJ) $**
-bosint.cs.obj: $(BOZO)\bosint.cs.c
- $(C2OBJ) $(BOZO)\bosint.cs.c
# Definitions for generating versioninfo resources
-afsbosadmin.res: afsbosadmin.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afsbosadmin.res: AFS_component_version_number.h
+
+mkdir:
+
DLLFILE = $(DESTDIR)\root.server\usr\afs\bin\afscfgadmin.dll
ILIBDIR = $(DESTDIR)\lib\afs
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
UBIKOBJS=\
- ubik_int.cs.obj \
- ubik_int.xdr.obj
+ $(OJT)\ubik_int.cs.obj \
+ $(OJT)\ubik_int.xdr.obj
CLIENTOBJS=\
- cellservdb.obj
+ $(OJT)\cellservdb.obj
+
+CFGOBJS = \
+ $(OJT)\cfgclient.obj \
+ $(OJT)\cfgdb.obj \
+ $(OJT)\cfghost.obj \
+ $(OJT)\cfgservers.obj \
+ $(OJT)\cfginternal.obj
DLLOBJS =\
$(UBIKOBJS) \
$(CLIENTOBJS) \
- cfgclient.obj \
- cfgdb.obj \
- cfghost.obj \
- cfgservers.obj \
- cfginternal.obj \
- afscfgadmin.res
+ $(RXOBJS) \
+ $(CFGOBJS) \
+ $(OJT)\afscfgadmin.res
DLLLIBS =\
$(DESTDIR)\lib\afspthread.lib \
############################################################################
# Definitions for building ubik objects
-UBIKDIR=..\..\ubik
+UBIK=..\..\ubik
+RX= ..\..\rx
+
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
-ubik_int.cs.obj: $(UBIKDIR)\ubik_int.cs.c
- $(C2OBJ) $(UBIKDIR)\ubik_int.cs.c
+$(UBIKOBJS): $(UBIK)\$$(@B).c
+ $(C2OBJ) $**
-ubik_int.xdr.obj: $(UBIKDIR)\ubik_int.xdr.c
- $(C2OBJ) $(UBIKDIR)\ubik_int.xdr.c
############################################################################
# Definitions for building client objects
CLIENTCFGDIR = ..\..\WINNT\client_config
-cellservdb.obj: $(CLIENTCFGDIR)\cellservdb.c
- $(C2OBJ) -I$(CLIENTCFGDIR) $(CLIENTCFGDIR)\cellservdb.c
+$(CLIENTOBJS): $(CLIENTCFGDIR)\$$(@B).c
+ $(C2OBJ) -I$(CLIENTCFGDIR) $**
-cfgclient.obj: cfgclient.c
- $(C2OBJ) -I$(CLIENTCFGDIR) cfgclient.c
+$(CFGOBJS): $$(@B).c
+ $(C2OBJ) -I$(CLIENTCFGDIR) $**
############################################################################
# Definitions for generating versioninfo resources
-afscfgadmin.res: afscfgadmin.rc AFS_component_version_number.h
- $(RC) $*.rc
-
+$(OJT)\afscfgadmin.res: AFS_component_version_number.h
install: $(DLLFILE) $(INCFILES)
clean::
+
+mkdir:
+
!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
-test tests: cfgtest.exe
+tests: $(OJT)\cfgtest.exe
CFGTEST_EXELIBS =\
$(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afs\afscmd.lib # static library
-cfgtest.exe: cfgtest.obj $(CFGTEST_EXELIBS)
+$(OJT)\cfgtest.exe: $(OJT)\cfgtest.obj $(CFGTEST_EXELIBS)
$(EXECONLINK)
+
+mkdir:
+
DLLOBJS = \
- afs_clientAdmin.obj \
- afsclientadmin.res
+ $(OJT)\afs_clientAdmin.obj \
+ $(OJT)\afsclientadmin.res
LIBINCLUDES = \
$(DESTDIR)\include\afs\afs_clientAdmin.h
install: $(DLLFILE) $(LIBINCLUDES)
# Definitions for generating versioninfo resources
-afsclientadmin.res: afsclientadmin.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afsclientadmin.res: AFS_component_version_number.h
+
+mkdir:
+
!include ..\..\config\NTMakefile.$(SYS_NAME)
!include ..\..\config\NTMakefile.version
-KAUTH = ..\..\kauth\
+KAUTH = ..\..\kauth
+RX = ..\..\rx
+
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
KAUTHOBJS = \
- kauth.cs.obj kauth.xdr.obj kaaux.obj
+ $(OJT)\kauth.cs.obj $(OJT)\kauth.xdr.obj $(OJT)\kaaux.obj
ADMINOBJS = \
- afs_kasAdmin.obj \
- afskasadmin.res
+ $(OJT)\afs_kasAdmin.obj \
+ $(OJT)\afskasadmin.res
-DLLOBJS = $(ADMINOBJS) $(KAUTHOBJS)
+DLLOBJS = $(ADMINOBJS) $(KAUTHOBJS) $(RXOBJS)
LIBINCLUDES = \
$(DESTDIR)\include\afs\afs_kasAdmin.h
install: $(DLLFILE) $(LIBINCLUDES)
+$(KAUTHOBJS): $(KAUTH)\$$(@B).c
+ $(C2OBJ) -I$(KAUTH) $**
-
-kauth.cs.obj: $(KAUTH)\kauth.cs.c
- $(C2OBJ) $(KAUTH)\kauth.cs.c
-
-kauth.xdr.obj: $(KAUTH)\kauth.xdr.c
- $(C2OBJ) $(KAUTH)\kauth.xdr.c
-
-kaaux.obj: $(KAUTH)\kaaux.c
- $(C2OBJ) $(KAUTH)\kaaux.c
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
# Definitions for generating versioninfo resources
-afskasadmin.res: afskasadmin.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afskasadmin.res: AFS_component_version_number.h
+
+mkdir:
+
!include ..\..\config\NTMakefile.$(SYS_NAME)
!include ..\..\config\NTMakefile.version
-PTSERVER = ..\..\ptserver\
+PTSERVER = ..\..\ptserver
+RX = ..\..\rx
+
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
PTSERVEROBJS = \
- ptint.xdr.obj ptint.cs.obj
+ $(OJT)\ptint.xdr.obj $(OJT)\ptint.cs.obj
ADMINOBJS = \
- afs_ptsAdmin.obj
+ $(OJT)\afs_ptsAdmin.obj
DLLOBJS =\
$(ADMINOBJS) \
$(PTSERVEROBJS) \
- afsptsadmin.res
+ $(RXOBJS) \
+ $(OJT)\afsptsadmin.res
LIBINCLUDES = \
$(DESTDIR)\include\afs\afs_ptsAdmin.h
install: $(DLLFILE) $(LIBINCLUDES)
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
+$(PTSERVEROBJS): $(PTSERVER)\$$(@B).c
+ $(C2OBJ) $**
-ptint.xdr.obj: $(PTSERVER)\ptint.xdr.c
- $(C2OBJ) $(PTSERVER)\ptint.xdr.c
+# Definitions for generating versioninfo resources
-ptint.cs.obj: $(PTSERVER)\ptint.cs.c
- $(C2OBJ) $(PTSERVER)\ptint.cs.c
+$(OJT)\afsptsadmin.res: AFS_component_version_number.h
-# Definitions for generating versioninfo resources
-afsptsadmin.res: afsptsadmin.rc AFS_component_version_number.h
- $(RC) $*.rc
+mkdir:
+
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
-install test tests: afscp.exe
+install tests: $(OJT)\afscp.exe
AFSCP_EXELIBS =\
$(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afscmd.lib # static library
AFSCP_EXEOBJS =\
- bos.obj \
- client.obj \
- kas.obj \
- pts.obj \
- util.obj \
- vos.obj
-
-afscp.exe: afscp.obj $(AFSCP_EXEOBJS) $(AFSCP_EXELIBS)
+ $(OJT)\bos.obj \
+ $(OJT)\client.obj \
+ $(OJT)\kas.obj \
+ $(OJT)\pts.obj \
+ $(OJT)\util.obj \
+ $(OJT)\vos.obj
+
+$(OJT)\afscp.exe: $(OJT)\afscp.obj $(AFSCP_EXEOBJS) $(AFSCP_EXELIBS)
$(EXECONLINK)
+
+mkdir:
+
!include ..\..\config\NTMakefile.$(SYS_NAME)
!include ..\..\config\NTMakefile.version
-VLSERVER = ..\..\vlserver\
+VLSERVER = ..\..\vlserver
-VOLSER = ..\..\volser\
+VOLSER = ..\..\volser
-FSINT = ..\..\fsint\
+FSINT = ..\..\fsint
+
+RX = ..\..\rx
ADMINOBJS = \
- afs_vosAdmin.obj \
- vosutils.obj \
- vsprocs.obj \
- lockprocs.obj
+ $(OJT)\afs_vosAdmin.obj \
+ $(OJT)\vosutils.obj \
+ $(OJT)\vsprocs.obj \
+ $(OJT)\lockprocs.obj
VLSERVEROBJS = \
- vldbint.cs.obj \
- vldbint.xdr.obj
+ $(OJT)\vldbint.cs.obj \
+ $(OJT)\vldbint.xdr.obj
VOLSEROBJS = \
- volint.cs.obj \
- volint.xdr.obj
+ $(OJT)\volint.cs.obj \
+ $(OJT)\volint.xdr.obj
FSINTOBJS =\
- afsint.xdr.obj \
- afscbint.xdr.obj
+ $(OJT)\afsint.xdr.obj \
+ $(OJT)\afscbint.xdr.obj
+
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
DLLOBJS =\
$(ADMINOBJS) \
$(VLSERVEROBJS) \
$(VOLSEROBJS) \
$(FSINTOBJS) \
- afsvosadmin.res
+ $(RXOBJS) \
+ $(OJT)\afsvosadmin.res
LIBINCLUDES = \
$(DESTDIR)\include\afs\afs_vosAdmin.h
install: $(DLLFILE) $(LIBINCLUDES)
-vldbint.cs.obj: $(VLSERVER)\vldbint.cs.c
- $(C2OBJ) $(VLSERVER)\vldbint.cs.c
-
-vldbint.xdr.obj: $(VLSERVER)\vldbint.xdr.c
- $(C2OBJ) $(VLSERVER)\vldbint.xdr.c
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
-volint.cs.obj: $(VOLSER)\volint.cs.c
- $(C2OBJ) $(VOLSER)\volint.cs.c
+$(VLSERVEROBJS):$(VLSERVER)\$$(@B).c
+ $(C2OBJ) $**
-volint.xdr.obj: $(VOLSER)\volint.xdr.c
- $(C2OBJ) $(VOLSER)\volint.xdr.c
+$(VOLSEROBJS):$(VOLSER)\$$(@B).c
+ $(C2OBJ) $**
-afsint.xdr.obj: $(FSINT)\afsint.xdr.c
- $(C2OBJ) $(FSINT)\afsint.xdr.c
-
-afscbint.xdr.obj: $(FSINT)\afscbint.xdr.c
- $(C2OBJ) $(FSINT)\afscbint.xdr.c
+$(FSINTOBJS):$(FSINT)\$$(@B).c
+ $(C2OBJ) $**
# Definitions for generating versioninfo resources
-afsvosadmin.res: afsvosadmin.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afsvosadmin.res: AFS_component_version_number.h
+
+mkdir:
+
PTSERVER = ..\ptserver
SYS = ..\sys
WINNTAFSD = ..\WINNT\afsd
+RX = ..\rx
LIBFILE = $(DESTDIR)\lib\afsauthent.dll
-AUDITOBJS = audit.obj
+RXOBJS = $(OJT)\xdr_int32.obj $(OJT)\xdr_int64.obj
+
+AUDITBJS = $(OJT)\audit.obj
AUTHOBJS = \
- cellconfig.obj \
- userok.obj \
- writeconfig.obj \
- authcon.obj \
- ktc_errors.obj \
- ktc_nt.obj \
- acfg_errors.obj
+ $(OJT)\cellconfig.obj \
+ $(OJT)\userok.obj \
+ $(OJT)\writeconfig.obj \
+ $(OJT)\authcon.obj \
+ $(OJT)\ktc_errors.obj \
+ $(OJT)\ktc_nt.obj \
+ $(OJT)\acfg_errors.obj
KAUTHOBJS = \
- kauth.xdr.obj \
- kauth.cs.obj \
- kaaux.obj \
- client.obj \
- authclient.obj \
- token.obj \
- kautils.obj \
- kalocalcell.obj \
- kaerrors.obj \
- user_nt.obj
+ $(OJT)\kauth.xdr.obj \
+ $(OJT)\kauth.cs.obj \
+ $(OJT)\kaaux.obj \
+ $(OJT)\client.obj \
+ $(OJT)\authclient.obj \
+ $(OJT)\token.obj \
+ $(OJT)\kautils.obj \
+ $(OJT)\kalocalcell.obj \
+ $(OJT)\kaerrors.obj \
+ $(OJT)\user_nt.obj
UBIKOBJS = \
- ubikclient.obj \
- uerrors.obj \
- ubik_int.cs.obj \
- ubik_int.xdr.obj
+ $(OJT)\ubikclient.obj \
+ $(OJT)\uerrors.obj \
+ $(OJT)\ubik_int.cs.obj \
+ $(OJT)\ubik_int.xdr.obj
UTILOBJS = \
- pthread_glock.obj \
- get_krbrlm.obj \
- casestrcpy.obj \
- fileutil.obj \
- dirpath.obj \
- readdir_nt.obj
+ $(OJT)\pthread_glock.obj \
+ $(OJT)\get_krbrlm.obj \
+ $(OJT)\casestrcpy.obj \
+ $(OJT)\fileutil.obj \
+ $(OJT)\dirpath.obj \
+ $(OJT)\readdir_nt.obj
RXKADOBJS = \
- rxkad_errs.obj
+ $(OJT)\rxkad_errs.obj
PTSERVEROBJS = \
- ptclient.obj \
- ptint.cs.obj \
- ptint.xdr.obj \
- ptuser.obj \
- display.obj \
- pterror.obj
+ $(OJT)\ptclient.obj \
+ $(OJT)\ptint.cs.obj \
+ $(OJT)\ptint.xdr.obj \
+ $(OJT)\ptuser.obj \
+ $(OJT)\display.obj \
+ $(OJT)\pterror.obj
SYSOBJS = \
- pioctl_nt.obj
+ $(OJT)\pioctl_nt.obj
WINNTAFSDOBJS =\
- cm_config.obj \
- afsrpc_c.obj
+ $(OJT)\cm_config.obj \
+ $(OJT)\afsrpc_c.obj
DLLOBJS =\
$(AUTHOBJS) \
$(PTSERVEROBJS) \
$(SYSOBJS) \
$(WINNTAFSDOBJS) \
- $(AUDITOBJS) \
+ $(AUDITBJS) \
$(DESTDIR)\lib\cm_dns.obj \
- afsauthent.res
-
-audit.obj: $(AUDIT)\audit.c
- $(C2OBJ) $(AUDIT)\audit.c
-
-cellconfig.obj: $(AUTH)\cellconfig.c
- $(C2OBJ) $(AUTH)\cellconfig.c
-
-userok.obj: $(AUTH)\userok.c
- $(C2OBJ) $(AUTH)\userok.c
-
-writeconfig.obj: $(AUTH)\writeconfig.c
- $(C2OBJ) $(AUTH)\writeconfig.c
-
-authcon.obj: $(AUTH)\authcon.c
- $(C2OBJ) $(AUTH)\authcon.c
-
-ktc_errors.obj: $(AUTH)\ktc_errors.c
- $(C2OBJ) $(AUTH)\ktc_errors.c
-
-acfg_errors.obj: $(AUTH)\acfg_errors.c
- $(C2OBJ) $(AUTH)\acfg_errors.c
-
-kauth.xdr.obj: $(KAUTH)\kauth.xdr.c
- $(C2OBJ) $(KAUTH)\kauth.xdr.c
-
-kauth.cs.obj: $(KAUTH)\kauth.cs.c
- $(C2OBJ) $(KAUTH)\kauth.cs.c
-
-kaaux.obj: $(KAUTH)\kaaux.c
- $(C2OBJ) $(KAUTH)\kaaux.c
-
-client.obj: $(KAUTH)\client.c
- $(C2OBJ) $(KAUTH)\client.c
-
-authclient.obj: $(KAUTH)\authclient.c
- $(C2OBJ) $(KAUTH)\authclient.c
-
-token.obj: $(KAUTH)\token.c
- $(C2OBJ) $(KAUTH)\token.c
-
-kautils.obj: $(KAUTH)\kautils.c
- $(C2OBJ) $(KAUTH)\kautils.c
+ $(OJT)\afsauthent.res
-kalocalcell.obj: $(KAUTH)\kalocalcell.c
- $(C2OBJ) $(KAUTH)\kalocalcell.c
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
-kaerrors.obj: $(KAUTH)\kaerrors.c
- $(C2OBJ) $(KAUTH)\kaerrors.c
+$(AUTHOBJS): $(AUTH)\$$(@B).c
+ $(C2OBJ) -I$(AUTH) $**
-ktc_nt.obj: $(AUTH)\ktc_nt.c
- $(C2OBJ) $(AUTH)\ktc_nt.c
+$(KAUTHOBJS): $(KAUTH)\$$(@B).c
+ $(C2OBJ) -I$(KAUTH) $**
-user_nt.obj: $(KAUTH)\user_nt.c
- $(C2OBJ) $(KAUTH)\user_nt.c
+$(UBIKOBJS): $(UBIK)\$$(@B).c
+ $(C2OBJ) -I$(UBIK) $**
-ubikclient.obj: $(UBIK)\ubikclient.c
- $(C2OBJ) $(UBIK)\ubikclient.c
+$(UTILOBJS): $(UTIL)\$$(@B).c
+ $(C2OBJ) -I$(UTIL) $**
-uerrors.obj: $(UBIK)\uerrors.c
- $(C2OBJ) $(UBIK)\uerrors.c
+$(RXKADOBJS): $(RXKAD)\$$(@B).c
+ $(C2OBJ) -I$(RXKAD) $**
-ubik_int.cs.obj: $(UBIK)\ubik_int.cs.c
- $(C2OBJ) $(UBIK)\ubik_int.cs.c
+$(PTSERVEROBJS): $(PTSERVER)\$$(@B).c
+ $(C2OBJ) -I$(PTSERVER) $**
-ubik_int.xdr.obj: $(UBIK)\ubik_int.xdr.c
- $(C2OBJ) $(UBIK)\ubik_int.xdr.c
+$(WINNTAFSDOBJS): $(WINNTAFSD)\$$(@B).c
+ $(C2OBJ) -I$(WINNTAFSD) $**
-get_krbrlm.obj: $(UTIL)\get_krbrlm.c
- $(C2OBJ) $(UTIL)\get_krbrlm.c
+$(AUDITBJS): $(AUDIT)\$$(@B).c
+ $(C2OBJ) -I$(AUDIT) $**
-dirpath.obj: $(UTIL)\dirpath.c
- $(C2OBJ) $(UTIL)\dirpath.c
-
-fileutil.obj: $(UTIL)\fileutil.c
- $(C2OBJ) $(UTIL)\fileutil.c
-
-readdir_nt.obj: $(UTIL)\readdir_nt.c
- $(C2OBJ) $(UTIL)\readdir_nt.c
-
-casestrcpy.obj: $(UTIL)\casestrcpy.c
- $(C2OBJ) $(UTIL)\casestrcpy.c
-
-pthread_glock.obj: $(UTIL)\pthread_glock.c
- $(C2OBJ) $(UTIL)\pthread_glock.c
-
-rxkad_errs.obj: $(RXKAD)\rxkad_errs.c
- $(C2OBJ) $(RXKAD)\rxkad_errs.c
-
-ptclient.obj: $(PTSERVER)\ptclient.c
- $(C2OBJ) $(PTSERVER)\ptclient.c
-
-ptuser.obj: $(PTSERVER)\ptuser.c
- $(C2OBJ) $(PTSERVER)\ptuser.c
-
-display.obj: $(PTSERVER)\display.c
- $(C2OBJ) $(PTSERVER)\display.c
-
-ptint.cs.obj: $(PTSERVER)\ptint.cs.c
- $(C2OBJ) $(PTSERVER)\ptint.cs.c
-
-ptint.xdr.obj: $(PTSERVER)\ptint.xdr.c
- $(C2OBJ) $(PTSERVER)\ptint.xdr.c
-
-pterror.obj: $(PTSERVER)\pterror.c
- $(C2OBJ) $(PTSERVER)\pterror.c
-
-pioctl_nt.obj: $(SYS)\pioctl_nt.c
- $(C2OBJ) $(SYS)\pioctl_nt.c
-
-afsrpc_c.obj: $(WINNTAFSD)\afsrpc_c.c
- $(C2OBJ) $(WINNTAFSD)\afsrpc_c.c
-
-cm_config.obj: $(WINNTAFSD)\cm_config.c
- $(C2OBJ) $(WINNTAFSD)\cm_config.c
+$(SYSOBJS): $(SYS)\$$(@B).c
+ $(C2OBJ) -I$(SYS) $**
DLLLIBS =\
!IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" ))
$(DESTDIR)\lib\afs\afsreg.lib \
$(DESTDIR)\lib\afs\afseventlog.lib
-$(LIBFILE): $(DLLOBJS) $(DLLLIBS)
+$(LIBFILE): $(DLLOBJS) $(DLLLIBS) $(RXOBJS)
$(DLLCONLINK) /DEF:afsauthent.def rpcrt4.lib
$(DLLPREP)
# Definitions for generating versioninfo resources
-afsauthent.res: afsauthent.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afsauthent.res: AFS_component_version_number.h
install: $(LIBFILE)
clean ::
$(DEL) $(LIBFILE)
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afsrpc.dll
# Object files by category.
-MULTIOBJS = rx_multi.obj
+MULTIOBJS = $(OJT)\rx_multi.obj
-XDROBJS = xdr.obj xdr_array.obj xdr_arrayn.obj xdr_float.obj xdr_mem.obj \
- xdr_rec.obj xdr_refernce.obj xdr_rx.obj xdr_update.obj \
- xdr_afsuuid.obj xdr_int64.obj
+XDROBJS = $(OJT)\xdr.obj $(OJT)\xdr_array.obj $(OJT)\xdr_arrayn.obj $(OJT)\xdr_float.obj $(OJT)\xdr_mem.obj \
+ $(OJT)\xdr_rec.obj $(OJT)\xdr_refernce.obj $(OJT)\xdr_rx.obj $(OJT)\xdr_update.obj \
+ $(OJT)\xdr_afsuuid.obj $(OJT)\xdr_int64.obj $(OJT)\xdr_int32.obj
-RXOBJS = rx_event.obj rx_user.obj rx_pthread.obj rx.obj \
- rx_null.obj rx_globals.obj rx_getaddr.obj rx_misc.obj rx_packet.obj \
- rx_rdwr.obj rx_trace.obj rx_xmit_nt.obj rx_conncache.obj
+RXOBJS = $(OJT)\rx_event.obj $(OJT)\rx_user.obj $(OJT)\rx_pthread.obj $(OJT)\rx.obj \
+ $(OJT)\rx_null.obj $(OJT)\rx_globals.obj $(OJT)\rx_getaddr.obj $(OJT)\rx_misc.obj $(OJT)\rx_packet.obj \
+ $(OJT)\rx_rdwr.obj $(OJT)\rx_trace.obj $(OJT)\rx_xmit_nt.obj $(OJT)\rx_conncache.obj
-RXSTATOBJS = rxstat.obj rxstat.ss.obj rxstat.xdr.obj rxstat.cs.obj
+RXSTATBJS = $(OJT)\rxstat.obj $(OJT)\rxstat.ss.obj $(OJT)\rxstat.xdr.obj $(OJT)\rxstat.cs.obj
-LIBRXKAD_OBJS = rxkad_client.obj rxkad_server.obj rxkad_common.obj ticket.obj \
- AFS_component_version_number.obj
+LIBRXKAD_OBJS = $(OJT)\rxkad_client.obj $(OJT)\rxkad_server.obj $(OJT)\rxkad_common.obj $(OJT)\ticket.obj \
+ $(OJT)\ticket5.obj $(OJT)\crc.obj $(OJT)\AFS_component_version_number.obj
-LIBRXKAD_REGOBJS = fcrypt.obj crypt_conn.obj
+LIBRXKAD_REGOBJS = $(OJT)\fcrypt.obj $(OJT)\crypt_conn.obj
-DESOBJS = des.obj cbc_encrypt.obj pcbc_encrypt.obj cksum.obj new_rnd_key.obj \
- key_sched.obj debug_decl.obj quad_cksum.obj key_parity.obj \
- weak_key.obj strng_to_key.obj misc.obj util.obj
+DESOBJS_INT = $(OJT)\des.obj $(OJT)\cbc_encrypt.obj $(OJT)\pcbc_encrypt.obj $(OJT)\cksum.obj $(OJT)\new_rnd_key.obj \
+ $(OJT)\key_sched.obj $(OJT)\debug_decl.obj $(OJT)\quad_cksum.obj $(OJT)\key_parity.obj \
+ $(OJT)\weak_key.obj $(OJT)\strng_to_key.obj $(OJT)\util.obj
-UTILOBJS = casestrcpy.obj winsock_nt.obj
+DESOBJS = $(DESOBJS_INT) $(OJT)\misc.obj
-COMERROBJS = error_msg.obj et_name.obj com_err.obj
+UTILOBJS = $(OJT)\casestrcpy.obj $(OJT)\winsock_nt.obj
-FSINTOBJS = afsint.cs.obj afsint.xdr.obj afscbint.cs.obj afscbint.xdr.obj \
- afsaux.obj
+COMERRBJS = $(OJT)\error_msg.obj $(OJT)\et_name.obj $(OJT)\com_err.obj
-DLLOBJS = $(MULTIOBJS) $(RXOBJS) $(XDROBJS) $(RXSTATOBJS) $(LIBRXKAD_OBJS) \
- $(DESOBJS) $(LIBRXKAD_REGOBJS) $(UTILOBJS) $(COMERROBJS) \
- $(FSINTOBJS) afsrpc.res
+FSINTBJS = $(OJT)\afsint.cs.obj $(OJT)\afsint.xdr.obj $(OJT)\afscbint.cs.obj $(OJT)\afscbint.xdr.obj \
+ $(OJT)\afsaux.obj
-rx_multi.obj: $(RX)\rx_multi.c
- $(C2OBJ) $(RX)\rx_multi.c
+DLLOBJS = $(MULTIOBJS) $(RXOBJS) $(XDROBJS) $(RXSTATBJS) $(LIBRXKAD_OBJS) \
+ $(DESOBJS) $(LIBRXKAD_REGOBJS) $(UTILBJS) $(COMERRBJS) \
+ $(FSINTBJS) $(OJT)\afsrpc.res
-xdr.obj: $(RX)\xdr.c
- $(C2OBJ) $(RX)\xdr.c
+$(MULTIOBJS) $(RXOBJS) $(XDROBJS):$(RX)\$$(@B).c
+ $(C2OBJ) $** -I$(RX)
-xdr_array.obj: $(RX)\xdr_array.c
- $(C2OBJ) $(RX)\xdr_array.c
+$(RXSTATBJS):$(RXSTAT)\$$(@B).c
+ $(C2OBJ) $** -I$(RXSTAT)
-xdr_arrayn.obj: $(RX)\xdr_arrayn.c
- $(C2OBJ) $(RX)\xdr_arrayn.c
+$(LIBRXKAD_REGOBJS) $(LIBRXKAD_OBJS):$(RXKAD)\$$(@B).c
+ $(C2OBJ) $** -I$(RXKAD)
-xdr_float.obj: $(RX)\xdr_float.c
- $(C2OBJ) $(RX)\xdr_float.c
+$(DESOBJS_INT):$(DES)\$$(@B).c
+ $(C2OBJ) $** -I$(DES)
-xdr_mem.obj: $(RX)\xdr_mem.c
- $(C2OBJ) $(RX)\xdr_mem.c
+$(OJT)\misc.obj:$(DES)\misc.c
+ $(C2OBJ) $** -DDONT_INCL_MAIN -I$(DES)
-xdr_rec.obj: $(RX)\xdr_rec.c
- $(C2OBJ) $(RX)\xdr_rec.c
+$(COMERRBJS):$(COMERR)\$$(@B).c
+ $(C2OBJ) $** -I$(COMERR)
-xdr_refernce.obj: $(RX)\xdr_refernce.c
- $(C2OBJ) $(RX)\xdr_refernce.c
+$(FSINTBJS):$(FSINT)\$$(@B).c
+ $(C2OBJ) $** -I$(FSINT)
-xdr_rx.obj: $(RX)\xdr_rx.c
- $(C2OBJ) $(RX)\xdr_rx.c
-
-xdr_update.obj: $(RX)\xdr_update.c
- $(C2OBJ) $(RX)\xdr_update.c
-
-xdr_afsuuid.obj: $(RX)\xdr_afsuuid.c
- $(C2OBJ) $(RX)\xdr_afsuuid.c
-
-xdr_int64.obj: $(RX)\xdr_int64.c
- $(C2OBJ) $(RX)\xdr_int64.c
-
-rx_event.obj: $(RX)\rx_event.c
- $(C2OBJ) $(RX)\rx_event.c
-
-rx_user.obj: $(RX)\rx_user.c
- $(C2OBJ) $(RX)\rx_user.c
-
-rx_pthread.obj: $(RX)\rx_pthread.c
- $(C2OBJ) $(RX)\rx_pthread.c
-
-rx.obj: $(RX)\rx.c
- $(C2OBJ) $(RX)\rx.c
-
-rx_null.obj: $(RX)\rx_null.c
- $(C2OBJ) $(RX)\rx_null.c
-
-rx_globals.obj: $(RX)\rx_globals.c
- $(C2OBJ) $(RX)\rx_globals.c
-
-rx_getaddr.obj: $(RX)\rx_getaddr.c
- $(C2OBJ) $(RX)\rx_getaddr.c
-
-rx_misc.obj: $(RX)\rx_misc.c
- $(C2OBJ) $(RX)\rx_misc.c
-
-rx_packet.obj: $(RX)\rx_packet.c
- $(C2OBJ) $(RX)\rx_packet.c
-
-rx_rdwr.obj: $(RX)\rx_rdwr.c
- $(C2OBJ) $(RX)\rx_rdwr.c
-
-rx_trace.obj: $(RX)\rx_trace.c
- $(C2OBJ) $(RX)\rx_trace.c
-
-rx_xmit_nt.obj: $(RX)\rx_xmit_nt.c
- $(C2OBJ) $(RX)\rx_xmit_nt.c
-
-rx_conncache.obj: $(RX)\rx_conncache.c
- $(C2OBJ) $(RX)\rx_conncache.c
-
-rxstat.cs.obj:$(RXSTAT)\rxstat.cs.c
- $(C2OBJ) $(RXSTAT)\rxstat.cs.c
-
-rxstat.ss.obj:$(RXSTAT)\rxstat.ss.c
- $(C2OBJ) $(RXSTAT)\rxstat.ss.c
-
-rxstat.xdr.obj:$(RXSTAT)\rxstat.xdr.c
- $(C2OBJ) $(RXSTAT)\rxstat.xdr.c
-
-rxstat.obj:$(RXSTAT)\rxstat.c
- $(C2OBJ) $(RXSTAT)\rxstat.c
-
-rxkad_client.obj:$(RXKAD)\rxkad_client.c
- $(C2OBJ) $(RXKAD)\rxkad_client.c
-
-rxkad_server.obj:$(RXKAD)\rxkad_server.c
- $(C2OBJ) $(RXKAD)\rxkad_server.c
-
-rxkad_common.obj:$(RXKAD)\rxkad_common.c
- $(C2OBJ) $(RXKAD)\rxkad_common.c
-
-ticket.obj:$(RXKAD)\ticket.c
- $(C2OBJ) $(RXKAD)\ticket.c
-
-fcrypt.obj:$(RXKAD)\fcrypt.c
- $(C2OBJ) $(RXKAD)\fcrypt.c
-
-crypt_conn.obj:$(RXKAD)\crypt_conn.c
- $(C2OBJ) $(RXKAD)\crypt_conn.c
-
-AFS_component_version_number.obj:$(RXKAD)\AFS_component_version_number.c
- $(C2OBJ) $(RXKAD)\AFS_component_version_number.c
-
-fcrypt_x.obj:$(RXKAD)\fcrypt.c
- $(C2OBJ) $(RXKAD)\fcrypt.c /Fofcrypt_x.obj
-
-crypt_conn_x.obj:$(RXKAD)\crypt_conn.c
- $(C2OBJ) $(RXKAD)\crypt_conn.c /Focrypt_conn_x.obj
-
-des.obj:$(DES)\des.c
- $(C2OBJ) $(DES)\des.c
-
-cbc_encrypt.obj:$(DES)\cbc_encrypt.c
- $(C2OBJ) $(DES)\cbc_encrypt.c
-
-pcbc_encrypt.obj:$(DES)\pcbc_encrypt.c
- $(C2OBJ) $(DES)\pcbc_encrypt.c
-
-cksum.obj:$(DES)\cksum.c
- $(C2OBJ) $(DES)\cksum.c
-
-new_rnd_key.obj:$(DES)\new_rnd_key.c
- $(C2OBJ) $(DES)\new_rnd_key.c
-
-key_sched.obj:$(DES)\key_sched.c
- $(C2OBJ) $(DES)\key_sched.c
-
-debug_decl.obj:$(DES)\debug_decl.c
- $(C2OBJ) $(DES)\debug_decl.c
-
-quad_cksum.obj:$(DES)\quad_cksum.c
- $(C2OBJ) $(DES)\quad_cksum.c
-
-key_parity.obj:$(DES)\key_parity.c
- $(C2OBJ) $(DES)\key_parity.c
-
-weak_key.obj:$(DES)\weak_key.c
- $(C2OBJ) $(DES)\weak_key.c
-
-strng_to_key.obj:$(DES)\strng_to_key.c
- $(C2OBJ) $(DES)\strng_to_key.c
-
-misc.obj:$(DES)\misc.c
- $(C2OBJ) -DDONT_INCL_MAIN $(DES)\misc.c
-
-util.obj:$(DES)\util.c
- $(C2OBJ) $(DES)\util.c
-
-des_x.obj:$(DES)\des.c
- $(C2OBJ) $(DES)\des.c /Fodes_x.obj
-
-cbc_crypt_x.obj:$(DES)\cbc_encrypt.c
- $(C2OBJ) $(DES)\cbc_encrypt.c /Focbc_crypt_x.obj
-
-pcbc_crypt_x.obj:$(DES)\pcbc_encrypt.c
- $(C2OBJ) $(DES)\pcbc_encrypt.c /Fopcbc_crypt_x.obj
-
-cksum_x.obj:$(DES)\cksum.c
- $(C2OBJ) $(DES)\cksum.c /Focksum_x.obj
-
-nrnd_key_x.obj:$(DES)\new_rnd_key.c
- $(C2OBJ) $(DES)\new_rnd_key.c /Fonrnd_key_x.obj
-
-error_msg.obj:$(COMERR)\error_msg.c
- $(C2OBJ) $(COMERR)\error_msg.c
-
-et_name.obj:$(COMERR)\et_name.c
- $(C2OBJ) $(COMERR)\et_name.c
-
-com_err.obj:$(COMERR)\com_err.c
- $(C2OBJ) $(COMERR)\com_err.c
-
-casestrcpy.obj:$(UTIL)\casestrcpy.c
- $(C2OBJ) $(UTIL)\casestrcpy.c
-
-winsock_nt.obj:$(UTIL)\winsock_nt.c
- $(C2OBJ) $(UTIL)\winsock_nt.c
-
-afsint.cs.obj:$(FSINT)\afsint.cs.c
- $(C2OBJ) $(FSINT)\afsint.cs.c
-
-afsint.xdr.obj:$(FSINT)\afsint.xdr.c
- $(C2OBJ) $(FSINT)\afsint.xdr.c
-
-afscbint.cs.obj:$(FSINT)\afscbint.cs.c
- $(C2OBJ) $(FSINT)\afscbint.cs.c
-
-afscbint.xdr.obj:$(FSINT)\afscbint.xdr.c
- $(C2OBJ) $(FSINT)\afscbint.xdr.c
-
-afsaux.obj:$(FSINT)\afsaux.c
- $(C2OBJ) $(FSINT)\afsaux.c
+$(UTILOBJS):$(UTIL)\$$(@B).c
+ $(C2OBJ) $** -I$(UTIL)
NTMAKE = nmake /nologo /f ntmakefile
$(DLLPREP)
# Definitions for generating versioninfo resources
-afsrpc.res: afsrpc.rc AFS_component_version_number.h
- $(RC) $*.rc
-
+$(OJT)\afsrpc.res: AFS_component_version_number.h
install:
! IF (EXIST(..\..\src\des\NTMakefile))
!include ..\config\NTMakefile.$(SYS_NAME)
!include ..\config\NTMakefile.version
-LIBOBJS = lock.obj \
- lwp_nt.obj \
- iomgr.obj \
- timer.obj\
- fasttime.obj \
- waitkey.obj \
- threadname.obj \
- AFS_component_version_number.obj
+LIBOBJS = $(OJT)\lock.obj \
+ $(OJT)\lwp_nt.obj \
+ $(OJT)\iomgr.obj \
+ $(OJT)\timer.obj\
+ $(OJT)\fasttime.obj \
+ $(OJT)\waitkey.obj \
+ $(OJT)\threadname.obj \
+ $(OJT)\AFS_component_version_number.obj
LIBFILE = $(DESTDIR)\lib\afslwp.lib
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
-tests: rw.exe
+tests: $(OJT)\rw.exe
-rw.exe: rw.obj $(LIBFILE) $(DESTDIR)\lib\afs\afsutil.lib
+$(OJT)\rw.exe: $(OJT)\rw.obj $(LIBFILE) $(DESTDIR)\lib\afs\afsutil.lib
$(EXECONLINK)
clean::
$(DEL) $(LIBFILE)
+
+mkdir:
+
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\..\config\NTMakefile.version
-LIBS = DEST\lib\afslwp.lib \
- DEST\lib\afs\afsutil.lib
+LIBS = DESTDIR\lib\afslwp.lib \
+ DESTDIRlib\afs\afsutil.lib
# build testkey.exe
-TESTKEY = testkey.exe
-testkey.exe: test_key.obj $(LIBS)
+TESTKEY = $(OJT)\testkey.exe
+$(OJT)\testkey.exe: $(OJT)\test_key.obj $(LIBS)
$(EXECONLINK)
clean::
+
+mkdir:
+
############################################################################
-INCFILES =\
- $(DESTDIR)\include\afs\procmgmt.h
+INCFILES = $(DESTDIR)\include\afs\procmgmt.h
+
+$(INCFILES):$$(@F)
+ $(COPY) $** $(DESTDIR)\include\afs\.
############################################################################
# Build afsprocmgmt.dll
ILIBDIR = $(DESTDIR)\lib\afs
DLLOBJS =\
- procmgmt_nt.obj \
- redirect_nt.obj \
- afsprocmgmt.res
+ $(OJT)\procmgmt_nt.obj \
+ $(OJT)\redirect_nt.obj \
+ $(OJT)\afsprocmgmt.res
DLLLIBS =\
$(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsutil.lib
-$(DLLFILE): $(DLLOBJS) $(DLLLIBS)
+$(DLLFILE): $(DLLOBJS) $(DLLRES) $(DLLLIBS)
$(DLLCONLINK) /DEF:afsprocmgmt.def
$(DLLPREP)
$(COPY) $*.lib $(ILIBDIR)
CL_KILL_EXEFILE = $(DESTDIR)\etc\afskill.exe
KILL_EXEOBJS =\
- afskill.obj \
- afskill.res
+ $(OJT)\afskill.obj \
+ $(OJT)\afskill.res
KILL_EXELIBS =\
$(DESTDIR)\lib\afs\afsprocmgmt.lib
############################################################################
# Definitions for generating versioninfo resources
-afsprocmgmt.res: afsprocmgmt.rc AFS_component_version_number.h
- $(RC) $*.rc
+#.cpp.obj:
+# $(CPP2OBJ) $<
-afskill.res: afskill.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\afsprocmgmt.res: AFS_component_version_number.h
+# $(RC) $*.rc
+$(OJT)\afskill.res: AFS_component_version_number.h
+# $(RC) $*.rc
install_headers: $(INCFILES)
!INCLUDE ..\..\config\NTMakefile.$(SYS_NAME)
-test tests: pmgttest.exe
+tests: $(OJT)\pmgttest.exe
PMGTTEST_EXELIBS =\
$(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afsutil.lib
-pmgttest.exe: pmgttest.obj $(PMGTTEST_EXELIBS)
+$(OJT)\pmgttest.exe: $(OJT)\pmgttest.obj $(PMGTTEST_EXELIBS)
$(EXECONLINK)
+
+mkdir:
+
$(INCFILEDIR)\afs\ptserver.h \
$(INCFILEDIR)\afs\ptint.h \
$(INCFILEDIR)\afs\pterror.h \
+ ptopcodes.h \
$(INCFILEDIR)\afs\ptclient.h
############################################################################
LIBFILE = $(DESTDIR)\lib\afs\afsprot.lib
LIBOBJS =\
- ptuser.obj \
- pterror.obj \
- ptint.cs.obj \
- ptint.xdr.obj \
- AFS_component_version_number.obj
+ $(OJT)\ptuser.obj \
+ $(OJT)\pterror.obj \
+ $(OJT)\ptint.cs.obj \
+ $(OJT)\ptint.xdr.obj \
+ $(OJT)\AFS_component_version_number.obj
-
-$(LIBFILE): $(LIBOBJS)
+$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
############################################################################
PTSERVER = $(DESTDIR)\root.server\usr\afs\bin\ptserver.exe
PTSERVER_EXEOBJS =\
- ptint.ss.obj \
- ptint.xdr.obj \
- ptserver.obj \
- ptutils.obj \
- ptprocs.obj \
- utils.obj \
- ptserver.res
+ $(OJT)\ptint.ss.obj \
+ $(OJT)\ptint.xdr.obj \
+ $(OJT)\ptserver.obj \
+ $(OJT)\ptutils.obj \
+ $(OJT)\ptprocs.obj \
+ $(OJT)\utils.obj \
+ $(OJT)\ptserver.res
PTSERVER_EXELIBS =\
PTSERVER_EXELIBS =$(PTSERVER_EXELIBS) $(DESTDIR)\lib\afs\afsprocmgmt.lib
!ENDIF
-
-$(PTSERVER): $(PTSERVER_EXEOBJS) $(PTSERVER_EXELIBS)
+$(PTSERVER): $(PTSERVER_EXEOBJS) $(RXKADOBJS) $(PTSERVER_EXELIBS)
$(EXECONLINK)
$(EXEPREP)
PTS = $(DESTDIR)\bin\pts.exe
PTS_EXEOBJS =\
- pts.obj \
- pts.res
+ $(OJT)\pts.obj \
+ $(OJT)\pts.res
PTS_EXELIBS =\
$(DESTDIR)\lib\afsubik.lib \
############################################################################
# generate versioninfo resources
-ptserver.res: ptserver.rc AFS_component_version_number.h
- $(RC) $*.rc
-pts.res: pts.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\ptserver.res: AFS_component_version_number.h
+
+$(OJT)\pts.res: AFS_component_version_number.h
############################################################################
# rxgen on pting.xg
-ptint.ss.c ptint.cs.c ptint.xdr.c $(DESTDIR)\include\afs\ptint.h: ptint.xg
- $(RXGEN) -x $**
- $(COPY) ptint.h $(DESTDIR)\include\afs\ptint.h
+$(INCFILEDIR)\afs\ptint.h : ptint.h
+ptint.ss.c ptint.cs.c ptint.xdr.c ptint.h: ptint.xg
+ $(RXGEN) -x $**
############################################################################
# Definitions for generating files via COMPILE_ET
-$(DESTDIR)\include\afs\pterror.h pterror.c: pterror.et
+$(DESTDIR)\include\afs\pterror.h: pterror.h
+
+pterror.h pterror.c: pterror.et
$(DEL) pterror.h pterror.c
$(COMPILE_ET) pterror -h pterror
- $(COPY) pterror.h $(DESTDIR)\include\afs\pterror.h
############################################################################
# install pts, ptserver and afsprot.lib
-install: $(INCFILES) $(LIBFILE) $(PTSERVER) $(PTS) readgroup.exe \
- readpwd.exe testpt.exe db_verify.exe \
+install: $(INCFILES) ptint.ss.c ptint.cs.c ptint.xdr.c $(LIBFILE) $(PTSERVER) $(PTS) $(OJT)\readgroup.exe \
+ $(OJT)\readpwd.exe $(OJT)\testpt.exe $(OJT)\db_verify.exe \
$(DESTDIR)\root.server\usr\afs\bin\pts.exe \
$(INCFILEDIR)\afs\prserver.h $(INCFILEDIR)\afs\print.h \
$(INCFILEDIR)\afs\prerror.h $(INCFILEDIR)\afs\prclient.h
clean::
$(DEL) ptint.cs.c ptint.ss.c ptclient ptint.xdr.c ptint.h
- $(DEL) readgroup.exe readpwd.exe db_verify.exe testpt.exe
+ $(DEL) $(OJT)\readgroup.exe $(OJT)\readpwd.exe $(OJT)\db_verify.exe $(OJT)\testpt.exe
$(DEL) pterror.h pterror.c
$(DEL) $(PTS)
# tests?
TEST_LIBS = $(PTS_EXELIBS)
-readgroup.exe: readgroup.obj $(LIBFILE) $(TEST_LIBS)
+$(OJT)\readgroup.exe: $(OJT)\readgroup.obj $(LIBFILE) $(TEST_LIBS)
$(EXECONLINK)
-readpwd.exe: readpwd.obj $(LIBFILE) $(TEST_LIBS)
+$(OJT)\readpwd.exe: $(OJT)\readpwd.obj $(LIBFILE) $(TEST_LIBS)
$(EXECONLINK)
-testpt.exe: testpt.obj $(LIBFILE) $(TEST_LIBS)
+$(OJT)\testpt.exe: $(OJT)\testpt.obj $(LIBFILE) $(TEST_LIBS)
$(EXECONLINK)
-db_verify.exe: db_verify.obj pterror.obj display.obj $(LIBFILE) $(TEST_LIBS)
+$(OJT)\db_verify.exe: $(OJT)\db_verify.obj $(OJT)\pterror.obj $(OJT)\display.obj $(LIBFILE) $(TEST_LIBS)
$(EXECONLINK)
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afsrx.lib
# Object files by category.
-XDROBJS = xdr.obj xdr_array.obj xdr_arrayn.obj xdr_float.obj xdr_mem.obj \
- xdr_rec.obj xdr_refernce.obj xdr_rx.obj xdr_update.obj \
- xdr_afsuuid.obj xdr_int64.obj
+XDROBJS = $(OJT)\xdr.obj $(OJT)\xdr_array.obj $(OJT)\xdr_arrayn.obj $(OJT)\xdr_float.obj $(OJT)\xdr_mem.obj \
+ $(OJT)\xdr_rec.obj $(OJT)\xdr_refernce.obj $(OJT)\xdr_rx.obj $(OJT)\xdr_update.obj \
+ $(OJT)\xdr_afsuuid.obj $(OJT)\xdr_int64.obj $(OJT)\xdr_int32.obj
-RXOBJS = rx_clock_nt.obj rx_event.obj rx_user.obj rx_lwp.obj rx.obj \
- rx_null.obj rx_globals.obj rx_getaddr.obj rx_misc.obj rx_packet.obj \
- rx_rdwr.obj rx_trace.obj rx_xmit_nt.obj rx_conncache.obj
+RXOBJS = $(OJT)\rx_event.obj $(OJT)\rx_clock_nt.obj $(OJT)\rx_user.obj $(OJT)\rx_lwp.obj $(OJT)\rx.obj \
+ $(OJT)\rx_null.obj $(OJT)\rx_globals.obj $(OJT)\rx_getaddr.obj $(OJT)\rx_misc.obj $(OJT)\rx_packet.obj \
+ $(OJT)\rx_rdwr.obj $(OJT)\rx_trace.obj $(OJT)\rx_xmit_nt.obj $(OJT)\rx_conncache.obj
-MULTIOBJS = rx_multi.obj
+MULTIOBJS = $(OJT)\rx_multi.obj
LIBOBJS = $(RXOBJS) $(MULTIOBJS) $(XDROBJS)
$(INCFILEDIR)\rx_lwp.h \
$(INCFILEDIR)\rx_pthread.h \
$(INCFILEDIR)\rx_xmit_nt.h \
+ $(INCFILEDIR)\xdr_prototypes.h \
+ $(INCFILEDIR)\rx_prototypes.h \
$(INCFILEDIR)\xdr.h
LOCAL_HEADERS = \
# Not yet
#rxdumptrace.exe: rx_trace.c
-
# build rxdebug.
RXDEBUG = $(DESTDIR)\etc\rxdebug.exe
-RXDOBJS = rxdebug.obj \
- rxdebug.res
+RXDOBJS = $(OJT)\rxdebug.obj \
+ $(OJT)\rxdebug.res
LIBDIR = $(DESTDIR)\lib
RXDLIBS = $(LIBDIR)\afs\afscmd.lib \
$(LIBDIR)\afs\afsutil.lib \
$(LIBDIR)\afs\afsreg.lib
-rxdebug.res: rxdebug.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\rxdebug.res: rxdebug.rc AFS_component_version_number.h
+ $(RC) /Fo$*.RES $(*F).rc
$(RXDEBUG): $(RXDOBJS) $(RXDLIBS)
$(EXECONLINK)
install: $(LIBFILE) $(INCFILES) $(RXDEBUG)
install9x: $(LIBFILE) $(INCFILES)
+
+clean::
+ $(DEL) $(LIBFILE) $(INCFILES)
+
+mkdir:
+
/* Timing tests show that we can compute times at about 4uS per call. */
LARGE_INTEGER rxi_clock0;
LARGE_INTEGER rxi_clockFreq;
+
+#undef clock_UpdateTime
+void clock_UpdateTime(void);
+
void clock_Init()
{
if (!QueryPerformanceFrequency(&rxi_clockFreq)) {
#if 0
extern int rxk_FreeSocket(register struct socket *asocket);
#endif
+#ifndef AFS_NT40_ENV
extern struct osi_socket *rxk_NewSocket(short aport);
#endif
+#endif
extern int rxk_ReadPacket(osi_socket so, struct rx_packet *p, int *host, int *port);
#ifdef UKERNEL
extern void rx_ServerProc(void);
/* rx_knet.c */
+#ifndef AFS_NT40_ENV
extern struct osi_socket *rxk_NewSocket(short aport);
+#endif
extern int rxk_FreeSocket(register osi_socket asocket);
#if defined(KERNEL) && !defined(AFS_SGI_ENV)
extern int osi_NetSend(osi_socket asocket, struct sockaddr_in *addr,
int resid, char *in);
extern void rxi_freeCBuf(struct rx_packet *c);
extern int rxi_RoundUpPacket(struct rx_packet *p, unsigned int nb);
-extern int rxi_AllocDataBuf(struct rx_packet *p, int nb, int class);
+extern int rxi_AllocDataBuf(struct rx_packet *p, int nb, int cla_ss);
extern void rxi_MorePackets(int apackets);
extern void rxi_MorePacketsNoLock(int apackets);
extern void rxi_FreeAllPackets(void);
extern void rxi_RestoreDataBufs(struct rx_packet *p);
extern int rxi_TrimDataBufs(struct rx_packet *p, int first);
extern void rxi_FreePacket(struct rx_packet *p);
-extern struct rx_packet *rxi_AllocPacketNoLock(int class);
-extern struct rx_packet *rxi_AllocPacket(int class);
+extern struct rx_packet *rxi_AllocPacketNoLock(int cla_ss);
+extern struct rx_packet *rxi_AllocPacket(int cla_ss);
extern struct rx_packet *rxi_AllocSendPacket(register struct rx_call *call, int want);
extern int rxi_ReadPacket(int socket, register struct rx_packet *p, afs_uint32 *host, u_short *port);
extern struct rx_packet *rxi_SplitJumboPacket(register struct rx_packet *p, afs_int32 host,
extern void osi_Free(char *x, afs_int32 size);
#endif
#endif /* AFS_AIX32_ENV */
-#if defined(AFS_NT40_ENV) || defined(AFS_DJGPP_ENV)
-extern int rxi_getaddr(void);
-extern int rx_getAllAddr (afs_int32 *buffer, int maxSize);
-#endif
extern void rx_GetIFInfo(void);
extern void rx_SetNoJumbo(void);
$(DESTDIR)\lib\afsrx.lib
-RXTESTOBJS = testclient.obj testserver.obj
+RXTESTOBJS = $(OJT)\testclient.obj $(OJT)\testserver.obj
-test tests: testclient.exe testserver.exe tableGen.exe generator.exe
+tests: $(OJT)\testclient.exe $(OJT)\testserver.exe $(OJT)\tableGen.exe $(OJT)\generator.exe
-testclient.exe: testclient.obj $(LIBS)
+testclient.exe: $(OJT)\testclient.obj $(LIBS)
$(EXECONLINK)
-testserver.exe: testserver.obj $(LIBS)
+testserver.exe: $(OJT)\testserver.obj $(LIBS)
$(EXECONLINK)
$(RXTESTOBJS): ..\rx_clock.h ..\rx_queue.h ..\rx_event.h ..\rx.h
+
+mkdir:
+
EXEFILE = $(DESTDIR)\bin\rxgen.exe
EXEOBJS =\
- rpc_main.obj \
- rpc_hout.obj \
- rpc_cout.obj \
- rpc_parse.obj \
- rpc_scan.obj \
- rpc_util.obj \
- rpc_svcout.obj \
- rpc_clntout.obj
+ $(OJT)\rpc_main.obj \
+ $(OJT)\rpc_hout.obj \
+ $(OJT)\rpc_cout.obj \
+ $(OJT)\rpc_parse.obj \
+ $(OJT)\rpc_scan.obj \
+ $(OJT)\rpc_util.obj \
+ $(OJT)\rpc_svcout.obj \
+ $(OJT)\rpc_clntout.obj
-
$(EXEFILE): $(EXEOBJS) $(EXELIBS)
$(EXECONLINK)
$(EXEPREP)
clean::
$(DEL) $(EXEFILE)
+
+mkdir:
+
INCFILEDIR = $(DESTDIR)\include\rx # header file install directory
INCFILES =\
+ $(INCFILEDIR)\rxkad_prototypes.h \
+ $(INCFILEDIR)\fcrypt.h \
+ $(INCFILEDIR)\asn1_err.h \
$(INCFILEDIR)\rxkad.h
# build afsrxkad.lib
LIBOBJS =\
- rxkad_client.obj \
- rxkad_server.obj \
- rxkad_common.obj \
- ticket.obj \
- rxkad_errs.obj \
- AFS_component_version_number.obj \
- fcrypt.obj \
- crypt_conn.obj
+ $(OJT)\rxkad_client.obj \
+ $(OJT)\rxkad_server.obj \
+ $(OJT)\rxkad_common.obj \
+ $(OJT)\ticket.obj \
+ $(OJT)\rxkad_errs.obj \
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\fcrypt.obj \
+ $(OJT)\ticket5.obj \
+ $(OJT)\crc.obj \
+ $(OJT)\crypt_conn.obj
# afsrxkad.lib
LIBFILE = $(DESTDIR)\lib\afsrxkad.lib
# generate rxkad.h and rxkad_errs.c from rxkad_errs.et
-$(INCFILES) rxkad_errs.c : rxkad_errs.et rxkad.p.h
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
+
+rxkad.h rxkad_errs.c : rxkad_errs.et rxkad.p.h
$(DEL) rxkad_errs.c
$(COMPILE_ET) rxkad_errs -h rxkad
- $(COPY) rxkad.h $(INCFILES)
# These sources are kept in a separate directory so that we can use an
# ACL to comply with source export restrictions.
DOMESTIC = crypt_conn.c fcrypt.c fcrypt.h sboxes.h
-crypt_conn.c : domestic\crypt_conn.c
- $(DEL) crypt_conn.c
- $(COPY) domestic\crypt_conn.c crypt_conn.c
-
-fcrypt.c : domestic\fcrypt.c
- $(DEL) fcrypt.c
- $(COPY) domestic\fcrypt.c fcrypt.c
-
-fcrypt.h : domestic\fcrypt.h
- $(DEL) fcrypt.h
- $(COPY) domestic\fcrypt.h fcrypt.h
-
-sboxes.h : domestic\sboxes.h
- $(DEL) sboxes.h
- $(COPY) domestic\sboxes.h sboxes.h
+$(DOMESTIC):domestic\$$@
+ $(COPY) $** .
install: $(DOMESTIC) $(INCFILES) $(LIBFILE)
install9x: install
clean::
- $(DEL) $(RXKAD_INCFILE) rxkad_errs.c
+ $(DEL) $(RXKAD_INCFILE) rxkad_errs.c $(INCFILES)
+ $(DEL) $(LIBFILE)
+mkdir:
+
#include <rx/rx.h>
#include <rx/xdr.h>
#ifdef AFS_PTHREAD_ENV
-#include "rxkad/rxkad.h"
+#include "rx/rxkad.h"
#endif /* AFS_PTHREAD_ENV */
#endif /* KERNEL */
#define _RXKAD_PROTOTYPES_H
/* till the typedefs are moved elsewhere */
-#include "rx/fcrypt.h"
+#include "fcrypt.h"
#include "rx/rx.h"
/* domestic/crypt_conn.c */
############################################################################
# Build stress.exe
-EXEFILE = stress.exe
+EXEFILE = $(OJT)\stress.exe
EXEOBJS =\
- stress.xdr.obj \
- stress_errs.obj \
- stress_c.obj \
- stress_s.obj \
- stress.cs.obj \
- stress.ss.obj \
- stress.obj
+ $(OJT)\stress.xdr.obj \
+ $(OJT)\stress_errs.obj \
+ $(OJT)\stress_c.obj \
+ $(OJT)\stress_s.obj \
+ $(OJT)\stress.cs.obj \
+ $(OJT)\stress.ss.obj \
+ $(OJT)\stress.obj
EXELIBS =\
$(DESTDIR)\lib\afsrxkad.lib \
clean::
$(DEL) stress.cs.c stress.ss.c stress.xdr.c stress.h \
stress_errs.c stress_errs.h stress.EXE th_*
+
+mkdir:
+
# Library component lists.
LIBOBJS = \
- rxstat.cs.obj \
- rxstat.ss.obj \
- rxstat.xdr.obj \
- rxstat.obj
+ $(OJT)\rxstat.cs.obj \
+ $(OJT)\rxstat.ss.obj \
+ $(OJT)\rxstat.xdr.obj \
+ $(OJT)\rxstat.obj
LIBFILE = $(DESTDIR)\lib\afsrxstat.lib
clean::
$(DEL) rxstat.cs.c rxstat.h rxstat.ss.c rxstat.xdr.c
+ $(DEL) $(LIBFILE)
+
+mkdir:
+
#else /* UKERNEL */
#include <afs/stds.h>
#include <rx/rx.h>
-#include "rxstat/rxstat.h"
+#include "rxstat.h"
#ifdef KERNEL
#include "sys/errno.h"
#else /* KERNEL */
LIBFILE = $(DESTDIR)\lib\afs\afspioctl.lib
LIBOBJS =\
- pioctl_nt.obj
+ $(OJT)\pioctl_nt.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
BUCOORD = ..\bucoord
VOLSER = ..\volser
-BUCOORDOBJS = ubik_db_if.obj $(BUCOORD)\volstub.obj $(BUCOORD)\dlq.obj \
- $(BUCOORD)\status.obj $(BUCOORD)\bucoord_errs.obj
+BUCOORDOBJS = $(OJT)\ubik_db_if.obj $(OJT)\$(BUCOORD)\volstub.obj $(OJT)\$(BUCOORD)\dlq.obj \
+ $(OJT)\$(BUCOORD)\status.obj $(OJT)\$(BUCOORD)\bucoord_errs.obj
-VOLSERLIBOBJ = $(VOLSER)\volint.cs.obj vsprocs.obj $(VOLSER)\vsutils.obj \
- $(VOLSER)\lockprocs.obj $(VOLSER)\volint.xdr.obj $(VOLSER)\volerr.obj \
- $(VOLSER)\volint.ss.obj AFS_component_version_number.obj
-VOLSERLIBS = afstvolser.lib
+VOLSERLIBOBJ = $(OJT)\$(VOLSER)\volint.cs.obj $(OJT)\vsprocs.obj $(OJT)\$(VOLSER)\vsutils.obj \
+ $(OJT)\$(VOLSER)\lockprocs.obj $(OJT)\$(VOLSER)\volint.xdr.obj $(OJT)\$(VOLSER)\volerr.obj \
+ $(OJT)\$(VOLSER)\volint.ss.obj $(OJT)\AFS_component_version_number.obj
+VOLSERLIBS = $(OJT)\afstvolser.lib
-LWPOBJS = lock.obj
+LWPOBJS = $(OJT)\lock.obj
-BUTMOBJS = file_tm.obj AFS_component_version_number.obj
-BUTMLIBS = afstbutm.lib
+BUTMOBJS = $(OJT)\file_tm.obj $(OJT)\AFS_component_version_number.obj
+BUTMLIBS = $(OJT)\afstbutm.lib
BUTMINCLUDE = -I$(DESTDIR)\include
-BUTCOBJS = dbentries.obj tcprocs.obj lwps.obj tcmain.obj list.obj recoverDb.obj \
- tcudbprocs.obj dump.obj tcstatus.obj butc_xbsa.obj \
+BUTCOBJS = $(OJT)\dbentries.obj $(OJT)\tcprocs.obj $(OJT)\lwps.obj $(OJT)\tcmain.obj $(OJT)\list.obj $(OJT)\recoverDb.obj \
+ $(OJT)\tcudbprocs.obj $(OJT)\dump.obj $(OJT)\tcstatus.obj $(OJT)\butc_xbsa.obj \
$(LWPOBJS) $(BUCOORDOBJS)
BUTCINCLUDE= -I. -I$(DESTDIR)\include -I$(XBSADIR)
BUTCLIBS=$(DESTDIR)\lib\afs\afsbudb.lib \
include ..\config\NTMakefile.version
-# rm tcstatus.obj
+# rm $(OJT)\tcstatus.obj
# nmake /nologo /f ntmakefile install
#----------------------------------------------- BUTC
$(EXECONLINK)
$(EXEPREP)
-# $(C2OBJ) $**
+.c.$(OJT)\obj:
+ $(C2OBJ) -I$(BUCOORD) $<
-dbentries.obj: $(BUTC)/dbentries.c
+$(OJT)\dbentries.obj: $(BUTC)/dbentries.c
$(C2OBJ) $**
-tcprocs.obj: $(BUTC)/tcprocs.c
+$(OJT)\tcprocs.obj: $(BUTC)/tcprocs.c
$(C2OBJ) $**
-lwps.obj: $(BUTC)/lwps.c
+$(OJT)\lwps.obj: $(BUTC)/lwps.c
$(C2OBJ) $**
-tcmain.obj: $(BUTC)/tcmain.c
+$(OJT)\tcmain.obj: $(BUTC)/tcmain.c
$(C2OBJ) $**
-list.obj: $(BUTC)/list.c
+$(OJT)\list.obj: $(BUTC)/list.c
$(C2OBJ) $**
-recoverDb.obj: $(BUTC)/recoverDb.c
+$(OJT)\recoverDb.obj: $(BUTC)/recoverDb.c
$(C2OBJ) $**
-tcudbprocs.obj: $(BUTC)/tcudbprocs.c
+$(OJT)\tcudbprocs.obj: $(BUTC)/tcudbprocs.c
$(C2OBJ) $**
-dump.obj: $(BUTC)/dump.c
+$(OJT)\dump.obj: $(BUTC)/dump.c
$(C2OBJ) $**
-tcstatus.obj: $(BUTC)/tcstatus.c
+$(OJT)\tcstatus.obj: $(BUTC)/tcstatus.c
$(C2OBJ) $**
-butc_xbsa.obj: $(BUTC)/butc_xbsa.c
+$(OJT)\butc_xbsa.obj: $(BUTC)/butc_xbsa.c
$(C2OBJ) $**
#----------------------------------------------- BUCOORD
-ubik_db_if.obj: $(BUCOORD)/ubik_db_if.c
- $(C2OBJ) $**
+$(OJT)\ubik_db_if.obj: $(BUCOORD)/ubik_db_if.c
+ $(C2OBJ) -I$(BUCOORD) $**
#----------------------------------------------- VOLSER
# Build the afstvolser.lib library here. The file compiled
# for is is vsprocs.c. The rest are from the VOLSER dir.
-afstvolser.lib: $(VOLSERLIBOBJ)
+$(OJT)\afstvolser.lib: $(VOLSERLIBOBJ)
$(LIBARCH)
-vsprocs.obj: $(VOLSER)/vsprocs.c
+$(OJT)\vsprocs.obj: $(VOLSER)/vsprocs.c
$(C2OBJ) $**
#----------------------------------------------- LWP
-lock.obj: $(LWP)/lock.c
+$(OJT)\lock.obj: $(LWP)/lock.c
$(C2OBJ) $**
#----------------------------------------------- BUTC
-file_tm.obj: $(BUTM)/file_tm.c
-
-file_tm.obj: $(BUTM)/file_tm.c
+$(OJT)\file_tm.obj: $(BUTM)/file_tm.c
$(C2OBJ) $**
-afstbutm.lib: $(BUTMOBJS)
+$(OJT)\afstbutm.lib: $(BUTMOBJS)
$(LIBARCH)
#-----------------------------------------------
install: all
noversion: install
+
+mkdir:
+
DIR = ..\dir
VOL = ..\vol
FSINT = ..\fsint
+RX = ..\rx
-VICEDOBJS = viced.obj afsfileprocs.obj host.obj physio.obj callback.obj \
- $(VICED)\fileserver.res
+RXOBJS = $(OJT)\xdr_int64.obj $(OJT)\xdr_int32.obj
-VLSERVEROBJS = vldbint.cs.obj vldbint.xdr.obj
+VICEDOBJS = $(OJT)\viced.obj $(OJT)\afsfileprocs.obj $(OJT)\host.obj $(OJT)\physio.obj $(OJT)\callback.obj
+VICEDRES = $(OJT)\$(VICED)\fileserver.res
-LWPOBJS = lock.obj fasttime.obj threadname.obj
+VLSERVEROBJS = $(OJT)\vldbint.cs.obj $(OJT)\vldbint.xdr.obj
-LIBACLOBJS = aclprocs.obj netprocs.obj
+LWPOBJS = $(OJT)\lock.obj $(OJT)\fasttime.obj $(OJT)\threadname.obj
-UTILOBJS = assert.obj uuid.obj serverLog.obj fileutil.obj
+LIBACLOBJS = $(OJT)\aclprocs.obj $(OJT)\netprocs.obj
-DIROBJS = buffer.obj dir.obj salvage.obj
+UTILOBJS = $(OJT)\assert.obj $(OJT)\uuid.obj $(OJT)\serverLog.obj $(OJT)\fileutil.obj
-VOLOBJS = vnode.obj volume.obj vutil.obj partition.obj fssync.obj purge.obj \
- clone.obj common.obj ihandle.obj ntops.obj
+DIROBJS = $(OJT)\buffer.obj $(OJT)\dir.obj $(OJT)\salvage.obj
-FSINTOBJS = afsaux.obj afscbint.cs.obj afsint.ss.obj afsint.xdr.obj
+VOLOBJS = $(OJT)\vnode.obj $(OJT)\volume.obj $(OJT)\vutil.obj $(OJT)\partition.obj $(OJT)\fssync.obj $(OJT)\purge.obj \
+ $(OJT)\clone.obj $(OJT)\common.obj $(OJT)\ihandle.obj $(OJT)\ntops.obj
-EXEOBJS = $(VICEDOBJS) $(VLSERVEROBJS) $(LWPOBJS) $(LIBACLOBJS) \
- $(UTILOBJS) $(DIROBJS) $(VOLOBJS) $(FSINTOBJS)
+FSINTOBJS = $(OJT)\afsaux.obj $(OJT)\afscbint.cs.obj $(OJT)\afsint.ss.obj $(OJT)\afsint.xdr.obj
+
+EXEOBJS = $(VICEDOBJS) $(VICEDRES) $(VLSERVEROBJS) $(LWPOBJS) $(LIBACLOBJS) \
+ $(UTILOBJS) $(DIROBJS) $(VOLOBJS) $(FSINTOBJS) $(RXOBJS)
all: fileserver
+$(RXOBJS): $(RX)\$$(@B).c
+ $(C2OBJ) -I$(RX) $**
-############################################################################
-# VICED package
-viced.obj: $(VICED)/viced.c
- $(C2OBJ) $**
-
-afsfileprocs.obj: $(VICED)/afsfileprocs.c
- $(C2OBJ) $**
-
-host.obj: $(VICED)/host.c
- $(C2OBJ) $**
-
-physio.obj: $(VICED)/physio.c
- $(C2OBJ) $**
-
-callback.obj: $(VICED)/callback.c
- $(C2OBJ) $**
-
-############################################################################
-# UTIL package
-assert.obj: $(UTIL)/assert.c
- $(C2OBJ) $**
-
-uuid.obj: $(UTIL)/uuid.c
- $(C2OBJ) $**
-
-serverLog.obj: $(UTIL)/serverLog.c
- $(C2OBJ) $**
-
-fileutil.obj: $(UTIL)/fileutil.c
- $(C2OBJ) $**
-
-############################################################################
-# LWP package
-lock.obj: $(LWP)/lock.c
- $(C2OBJ) $**
-
-fasttime.obj: $(LWP)/fasttime.c
- $(C2OBJ) $**
-
-threadname.obj: $(LWP)/threadname.c
- $(C2OBJ) $**
-
-############################################################################
-# LIBACL package
-aclprocs.obj: $(LIBACL)/aclprocs.c
- $(C2OBJ) $**
-
-netprocs.obj: $(LIBACL)/netprocs.c
- $(C2OBJ) $**
-
-############################################################################
-# VLSERVER package
-vldbint.cs.obj: $(VLSERVER)/vldbint.cs.c
- $(C2OBJ) $**
-
-vldbint.xdr.obj: $(VLSERVER)/vldbint.xdr.c
- $(C2OBJ) $**
-
-############################################################################
-# DIR package
-buffer.obj: $(DIR)/buffer.c
- $(C2OBJ) $**
-
-dir.obj: $(DIR)/dir.c
- $(C2OBJ) $**
-
-salvage.obj: $(DIR)/salvage.c
- $(C2OBJ) $**
-
-############################################################################
-# VOL package
-vnode.obj: $(VOL)/vnode.c
- $(C2OBJ) $**
-
-volume.obj: $(VOL)/volume.c
- $(C2OBJ) $**
-
-vutil.obj: $(VOL)/vutil.c
- $(C2OBJ) $**
-
-partition.obj: $(VOL)/partition.c
- $(C2OBJ) $**
+$(VICEDOBJS): $(VICED)\$$(@B).c
+ $(C2OBJ) -I$(VICED) -I$(UTIL) $**
-fssync.obj: $(VOL)/fssync.c
- $(C2OBJ) $**
+$(UTILOBJS): $(UTIL)\$$(@B).c
+ $(C2OBJ) -I$(UTIL) $**
-purge.obj: $(VOL)/purge.c
- $(C2OBJ) $**
+$(LWPOBJS): $(LWP)\$$(@B).C
+ $(C2OBJ) -I$(LWP) $**
-clone.obj: $(VOL)/clone.c
- $(C2OBJ) $**
+$(LIBACLOBJS): $(LIBACL)\$$(@B).C
+ $(C2OBJ) -I$(LIBACL) $**
-nuke.obj: $(VOL)/nuke.c
- $(C2OBJ) $**
+$(VLSERVEROBJS): $(VLSERVER)\$$(@B).C
+ $(C2OBJ) -I$(VLSERVER) $**
-common.obj: $(VOL)/common.c
- $(C2OBJ) $**
-
-ihandle.obj: $(VOL)/ihandle.c
- $(C2OBJ) $**
-
-ntops.obj: $(VOL)/ntops.c
- $(C2OBJ) $**
-
-############################################################################
-# FSINT package
-afsaux.obj: $(FSINT)/afsaux.c
- $(C2OBJ) $**
-
-afscbint.cs.obj: $(FSINT)/afscbint.cs.c
- $(C2OBJ) $**
-
-afscbint.ss.obj: $(FSINT)/afscbint.ss.c
- $(C2OBJ) $**
-
-afsint.cs.obj: $(FSINT)/afsint.cs.c
- $(C2OBJ) $**
-
-afsint.ss.obj: $(FSINT)/afsint.ss.c
- $(C2OBJ) $**
-
-afsint.xdr.obj: $(FSINT)/afsint.xdr.c
- $(C2OBJ) $**
+$(DIROBJS): $(DIR)\$$(@B).C
+ $(C2OBJ) -I$(DIR) $**
+$(VOLOBJS): $(VOL)\$$(@B).C
+ $(C2OBJ) -I$(VOL) $**
+$(FSINTOBJS): $(FSINT)\$$(@B).C
+ $(C2OBJ) -I$(FSINT) $**
EXELIBS = \
$(DESTDIR)\lib\afsauthent.lib \
$(EXEPREP)
install: $(EXEFILE)
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afsubik.lib
LIBOBJS =\
- disk.obj \
- remote.obj \
- beacon.obj \
- recovery.obj \
- ubik.obj \
- vote.obj \
- lock.obj \
- phys.obj \
- ubik_int.cs.obj \
- ubik_int.ss.obj \
- ubik_int.xdr.obj \
- ubikcmd.obj \
- ubikclient.obj \
- uerrors.obj \
- AFS_component_version_number.obj
-
-
-$(LIBFILE): $(LIBOBJS)
+ $(OJT)\disk.obj \
+ $(OJT)\remote.obj \
+ $(OJT)\beacon.obj \
+ $(OJT)\recovery.obj \
+ $(OJT)\ubik.obj \
+ $(OJT)\vote.obj \
+ $(OJT)\lock.obj \
+ $(OJT)\phys.obj \
+ $(OJT)\ubik_int.cs.obj \
+ $(OJT)\ubik_int.ss.obj \
+ $(OJT)\ubik_int.xdr.obj \
+ $(OJT)\ubikcmd.obj \
+ $(OJT)\ubikclient.obj \
+ $(OJT)\uerrors.obj \
+ $(OJT)\AFS_component_version_number.obj
+
+
+$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
############################################################################
CL_UDBG_EXEFILE = $(DESTDIR)\bin\udebug.exe
UDBG_EXEOBJS =\
- udebug.obj \
- udebug.res
+ $(OJT)\udebug.obj \
+ $(OJT)\udebug.res
UDBG_EXELIBS =\
$(DESTDIR)\lib\afsubik.lib \
############################################################################
# generate versioninfo resources
-udebug.res: udebug.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\udebug.res: AFS_component_version_number.h
+# $(RC) $*.rc
############################################################################
# rxgen on ubik_int.xg
-ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c $(INCFILEDIR)\ubik_int.h: ubik_int.xg
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
+
+ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c ubik_int.h: ubik_int.xg
$(RXGEN) -x $**
- $(COPY) ubik_int.h $(INCFILEDIR)\ubik_int.h
############################################################################
# compile_et on uerrors.et
-uerrors.c $(INCFILEDIR)\ubik.h: uerrors.et ubik.p.h
+uerrors.c ubik.h: uerrors.et ubik.p.h
$(DEL) ubik.h uerrors.c
$(COMPILE_ET) uerrors -h ubik
- $(COPY) ubik.h $(INCFILEDIR)\ubik.h
############################################################################
# Install target; primary makefile target
clean::
$(DEL) ubik_int.ss.c ubik_int.cs.c ubik_int.xdr.c
- $(DEL) $(INCFILEDIR)\ubik_int.h uerrors.c $(INCFILEDIR)\ubik.h
+ $(DEL) uerrors.c $(INCFILES)
$(DEL) ubik_int.h ubik.h
############################################################################
test tests: utst_server utst_client $(EXEFILE)
-utst_server: utst_server.obj utst_int.ss.obj utst_int.xdr.obj $(EXELIBS)
+utst_server: $(OJT)\utst_server.obj $(OJT)\utst_int.ss.obj $(OJT)\utst_int.xdr.obj $(EXELIBS)
$(EXECONLINK)
-utst_client: utst_client.obj utst_int.cs.obj utst_int.xdr.obj $(EXELIBS)
+utst_client: $(OJT)\utst_client.obj $(OJT)\utst_int.cs.obj $(OJT)\utst_int.xdr.obj $(EXELIBS)
$(EXECONLINK)
# rxgen on utst_int.xg
utst_int.ss.c utst_int.cs.c utst_int.xdr.c utst_int.h: utst_int.xg
$(RXGEN) utst_int.xg
-utst_server.obj utst_client.obj : utst_int.h
+$(OJT)\utst_server.obj $(OJT)\utst_client.obj : utst_int.h
+
+mkdir:
+
UPSERVER = $(DESTDIR)\root.server\usr\afs\bin\upserver.exe
USVR_OBJS = \
- AFS_component_version_number.obj \
- server.obj \
- utils.obj \
- update.ss.obj \
- upserver.res
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\server.obj \
+ $(OJT)\utils.obj \
+ $(OJT)\update.ss.obj \
+ $(OJT)\upserver.res
$(UPSERVER): $(USVR_OBJS) $(LIBS)
$(EXECONLINK)
UPCLIENT = $(DESTDIR)\root.server\usr\afs\bin\upclient.exe
UCLNT_OBJS = \
- AFS_component_version_number.obj \
- client.obj \
- utils.obj \
- update.cs.obj \
- upclient.res
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\client.obj \
+ $(OJT)\utils.obj \
+ $(OJT)\update.cs.obj \
+ $(OJT)\upclient.res
$(UPCLIENT): $(UCLNT_OBJS) $(LIBS)
$(EXECONLINK)
############################################################################
# generate versioninfo resources
-upserver.res: upserver.rc AFS_component_version_number.h
- $(RC) $*.rc
-upclient.res: upclient.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\upserver.res: AFS_component_version_number.h
+
+$(OJT)\upclient.res: AFS_component_version_number.h
############################################################################
# Install update executables.
clean::
$(DEL) update.cs.c update.ss.c update.xdr.c update.h
+
+mkdir:
+ copy home $(OJT)\.
+
LIBFILE = $(DESTDIR)\lib\afs\afsusd.lib
LIBOBJS =\
- usd_nt.obj \
- AFS_component_version_number.obj
+ $(OJT)\usd_nt.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
$(MAKECMD) /fNTMakefile test
$(CD) ..
-
+mkdir:
+
test tests: usd_test.exe
# make usd_test.exe
-usd_test.exe: usd_test.obj $(LIBFILE) $(LIBUTIL)
+$(OJT)\usd_test.exe: $(OJT)\usd_test.obj $(LIBFILE) $(LIBUTIL)
$(EXECONLINK)
-
-
+mkdir:
+
$(INCFILEDIR)\dirpath.h \
$(INCFILEDIR)\ktime.h \
$(INCFILEDIR)\fileutil.h \
+ $(INCFILEDIR)\afsutil_prototypes.h \
$(INCFILEDIR)\secutil_nt.h
-$(DESTDIR)\include\afs\dirent.h: dirent_nt.h
+$(INCFILEDIR)\dirent.h: dirent_nt.h
$(COPY) $** $@
-$(DESTDIR)\include\afs\dirpath.h: dirpath_nt.h
+$(INCFILEDIR)\afsconfig.h: ..\libadmin\adminutil\afscoinfig.h
+ $(COPY) $** $@
+
+$(INCFILEDIR)\dirpath.h: dirpath_nt.h
$(COPY) $** $@
LIBFILE = $(DESTDIR)\lib\afs\afsutil.lib
fileutil.obj \
secutil_nt.obj
+$(LIBOBJS): $$(@B).c
+ $(C2OBJ) -I..\libadmin\adminutil $**
+
+$(LIBOBJS):
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
*/
#define _POSIX_PTHREAD_SEMANTICS
+#include <afs\param.h>
#include <assert.h>
#include <stdio.h>
+#ifndef AFS_NT40_ENV
#include <signal.h>
-#include <pthread.h>
#include <unistd.h>
+#else
+#include <afs\procmgmt.h>
+#endif
+#include <pthread.h>
static pthread_t softsig_tid;
static struct {
$(DESTDIR)\lib\afs\afsutil.lib \
$(DESTDIR)\lib\afs\afsreg.lib
-dirpath_test.exe: dirpath_test.obj $(LIBS)
+$(OJT)\dirpath_test.exe: $(OJT)\dirpath_test.obj $(LIBS)
$(EXECONLINK)
-test tests: dirpath_test.exe
+test tests: $(OJT)\dirpath_test.exe
clean::
- $(DEL) dirpath_test.exe
-
-
-
+ $(DEL) $(OJT)\dirpath_test.exe
+mkdir:
+
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\fileserver.exe
EXEOBJS =\
- afsfileprocs.obj \
- callback.obj \
- host.obj \
- physio.obj \
- viced.obj \
- AFS_component_version_number.obj \
- fileserver.res
+ $(OJT)\afsfileprocs.obj \
+ $(OJT)\callback.obj \
+ $(OJT)\host.obj \
+ $(OJT)\physio.obj \
+ $(OJT)\viced.obj \
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\fileserver.res
EXELIBS = \
$(DESTDIR)\lib\afs\afscmd.lib \
############################################################################
# generate versioninfo resources
-fileserver.res: fileserver.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\fileserver.res: AFS_component_version_number.h
-
-install: $(INCFILES) fileserver.res
+install: $(INCFILES) $(OJT)\fileserver.res
############################################################################
# Build cbd - not generally distributed debugging program
-CBD = cbd.exe
+CBD = $(OJT)\cbd.exe
-cbd.obj: callback.c
- $(C2OBJ) /Focbd.obj -DINTERPRET_DUMP callback.c
+$(OJT)\cbd.obj: callback.c
+ $(C2OBJ) $** -DINTERPRET_DUMP
-$(CBD): cbd.obj
+$(CBD): $(OJT)\cbd.obj
$(EXECONLINK)
+
+mkdir:
+
#endif
#endif
-#if defined(AFS_PTHREAD_ENV)
+#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
softsig_signal(signo, CheckSignal_Signal);
#else
signal(signo, CheckSignal_Signal);
static void setThreadId(char *s)
{
-#ifdef AFS_PTHREAD_ENV
+#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
/* set our 'thread-id' so that the host hold table works */
MUTEX_ENTER(&rx_stats_mutex); /* protects rxi_pthread_hinum */
++rxi_pthread_hinum;
ViceLog(0, ("File server starting\n"));
#endif
-#if defined(AFS_PTHREAD_ENV)
+#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
/* initialize the pthread soft signal handler thread */
softsig_init();
#endif
/* Install handler to catch the shutdown signal;
* bosserver assumes SIGQUIT shutdown
*/
-#if defined(AFS_PTHREAD_ENV)
+#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
softsig_signal(SIGQUIT, ShutDown_Signal);
#else
signal(SIGQUIT, ShutDown_Signal);
############################################################################
# Definitions for installing header files
-INCFILEDIR = $(DESTDIR)\include
+INCFILEDIR = $(DESTDIR)\include\afs
INCFILES = \
$(INCFILEDIR)\afs\vl_opcodes.h \
LIBFILE = $(DESTDIR)\lib\afs\afsvldb.lib
LIBOBJS =\
- vl_errors.obj \
- vldbint.cs.obj \
- vldbint.xdr.obj \
- AFS_component_version_number.obj
-
+ $(OJT)\vl_errors.obj \
+ $(OJT)\vldbint.cs.obj \
+ $(OJT)\vldbint.xdr.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
MT_LIBFILE = $(DESTDIR)\lib\afs\mtafsvldb.lib
MT_LIBOBJS =\
- vl_errors_mt.obj \
- vldbint.cs_mt.obj \
- vldbint.xdr_mt.obj \
- AFS_component_version_number.obj
+ $(OJT)\vl_errors_mt.obj \
+ $(OJT)\vldbint.cs_mt.obj \
+ $(OJT)\vldbint.xdr_mt.obj \
+ $(OJT)\AFS_component_version_number.obj
-vl_errors_mt.obj:vl_errors.c
- $(C2OBJ) vl_errors.c -DAFS_PTHREAD_ENV /Fovl_errors_mt.obj
+$(OJT)\vl_errors_mt.obj:vl_errors.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-vldbint.cs_mt.obj:vldbint.cs.c
- $(C2OBJ) vldbint.cs.c -DAFS_PTHREAD_ENV /Fovldbint.cs_mt.obj
+$(OJT)\vldbint.cs_mt.obj:vldbint.cs.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
-vldbint.xdr_mt.obj:vldbint.xdr.c
- $(C2OBJ) vldbint.xdr.c -DAFS_PTHREAD_ENV /Fovldbint.xdr_mt.obj
+$(OJT)\vldbint.xdr_mt.obj:vldbint.xdr.c
+ $(C2OBJ) $** -DAFS_PTHREAD_ENV
$(MT_LIBFILE): $(MT_LIBOBJS)
$(LIBARCH)
VLSERVER = $(DESTDIR)\root.server\usr\afs\bin\vlserver.exe
VLSERVER_EXEOBJS =\
- vldbint.ss.obj \
- vldbint.xdr.obj \
- vlprocs.obj \
- vlserver.obj \
- vlutils.obj \
- vlserver.res
+ $(OJT)\vldbint.ss.obj \
+ $(OJT)\vldbint.xdr.obj \
+ $(OJT)\vlprocs.obj \
+ $(OJT)\vlserver.obj \
+ $(OJT)\vlutils.obj \
+ $(OJT)\vlserver.res
VLSERVER_EXECLIBS = \
$(DESTDIR)\lib\afsubik.lib \
############################################################################
# generate versioninfo resources
-vlserver.res: vlserver.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\vlserver.res: AFS_component_version_number.h
+# $(RC) $*.rc
############################################################################
# rxgen on vldbint.xg
-vldbint.ss.c vldbint.cs.c vldbint.xdr.c $(DESTDIR)\include\afs\vldbint.h: vldbint.xg
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
+
+vldbint.ss.c vldbint.cs.c vldbint.xdr.c vldbint.h: vldbint.xg
$(RXGEN) -x $**
$(COPY) vldbint.h $(DESTDIR)\include\afs\vldbint.h
# Definitions for generating files via COMPILE_ET
# Need an explicit copy here, since we've fussed with the general rule.
-$(INCFILEDIR)\afs\vlserver.h vl_errors.c: vl_errors.et vlserver.p.h
+vlserver.h vl_errors.c: vl_errors.et vlserver.p.h
$(DEL) vlserver.h vl_errors.c
$(COMPILE_ET) vl_errors -h vlserver
$(COPY) vlserver.h $(INCFILEDIR)\afs\vlserver.h
$(DESTDIR)\lib\afs\afseventlog.lib \
$(DESTDIR)\lib\afs\afscmd.lib
-vldb_check.exe: vldb_check.obj $(VLDB_CHECK_LIBS)
+$(OJT)\vldb_check.exe: $(OJT)\vldb_check.obj $(VLDB_CHECK_LIBS)
$(EXECONLINK)
############################################################################
$(DESTDIR)\lib\afs\afscmd.lib \
$(DESTDIR)\lib\afs\afspioctl.lib
-vlclient.exe: vlclient.obj $(LIBFILE) $(VLSERVER_EXECLIBS) $(VLCLIENT_LIBS)
+$(OJT)\vlclient.exe: $(OJT)\vlclient.obj $(LIBFILE) $(VLSERVER_EXECLIBS) $(VLCLIENT_LIBS)
$(EXECONLINK)
############################################################################
# install vlserver components
-install: $(INCFILES) $(LIBFILE) $(VLSERVER) vldb_check.exe vlclient.exe \
+install: $(INCFILES) $(LIBFILE) $(VLSERVER) $(OJT)\vldb_check.exe $(OJT)\vlclient.exe \
$(MT_LIBFILE)
install9x: install
# clean up
clean::
- $(DEL) vldbint.cs.c vldbint.ss.c vldbint.xdr.c vldbint.h
- $(DEL) vlserver.h vl_errors.c
+ $(DEL) vldbint.cs.c vldbint.ss.c vldbint.xdr.c vldbint.h$$
+ $(DEL) vlserver.h vl_errors.c $(INCFILES)
+
+mkdir:
+
LIBFILE = $(DESTDIR)\lib\afs\afsvol.lib
LIBOBJS =\
- common.obj \
- clone.obj \
- fssync.obj \
- ntops.obj \
- nuke.obj \
- partition.obj \
- purge.obj \
- vnode.obj \
- volume.obj \
- vutil.obj \
- ihandle.obj \
- AFS_component_version_number.obj
+ $(OJT)\common.obj \
+ $(OJT)\clone.obj \
+ $(OJT)\fssync.obj \
+ $(OJT)\ntops.obj \
+ $(OJT)\nuke.obj \
+ $(OJT)\partition.obj \
+ $(OJT)\purge.obj \
+ $(OJT)\vnode.obj \
+ $(OJT)\volume.obj \
+ $(OJT)\vutil.obj \
+ $(OJT)\ihandle.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
SALVAGER = $(DESTDIR)\root.server\usr\afs\bin\salvager.exe
SALVAGER_EXEOBJS =\
- vol-salvage.obj \
- physio.obj \
- AFS_component_version_number.obj \
- salvager.res
+ $(OJT)\vol-salvage.obj \
+ $(OJT)\physio.obj \
+ $(OJT)\AFS_component_version_number.obj \
+ $(OJT)\salvager.res
$(SALVAGER): $(SALVAGER_EXEOBJS) $(EXEC_LIBS)
$(EXECONLINK)
# build volinfo
VOLINFO = $(DESTDIR)\root.server\usr\afs\bin\volinfo.exe
-$(VOLINFO): vol-info.obj physio.obj volinfo.res $(EXEC_LIBS)
+$(VOLINFO): $(OJT)\vol-info.obj $(OJT)\physio.obj $(OJT)\volinfo.res $(EXEC_LIBS)
$(EXECONLINK)
$(EXEPREP)
############################################################################
# generate versioninfo resources
-salvager.res: salvager.rc AFS_component_version_number.h
+$(OJT)\salvager.res: salvager.rc AFS_component_version_number.h
-volinfo.res: volinfo.rc AFS_component_version_number.h
+$(OJT)\volinfo.res: AFS_component_version_number.h
############################################################################
# Install targets
install: $(INCFILES) $(LIBFILE) $(SALVAGER) $(VOLINFO)
+
+mkdir:
+
#include "volume.h"
#include "partition.h"
+#ifdef osi_Assert
+#undef osi_Assert
+#endif
+#define osi_Assert(e) (void)(e)
+
extern int LogLevel; /* Vice loglevel */
int (*V_BreakVolumeCallbacks)();
############################################################################
# build inode lister
-ILIST = ilist.exe
+ILIST = $(OJT)\ilist.exe
-$(ILIST): ilist_nt.obj $(EXEC_LIBS)
+$(ILIST): $(OJT)\ilist_nt.obj $(EXEC_LIBS)
$(EXECONLINK)
############################################################################
# build link table lister
-LTLIST = ltlist.exe
+LTLIST = $(OJT)\ltlist.exe
-$(LTLIST): ltlist.obj $(EXEC_LIBS)
+$(LTLIST): $(OJT)\ltlist.obj $(EXEC_LIBS)
$(EXECONLINK)
+
+mkdir:
+
INCFILEDIR = $(DESTDIR)\include\afs # header file install directory
INCFILES = \
+ $(INCFILEDIR)\volser_prototypes.h \
$(INCFILEDIR)\volser.h \
$(INCFILEDIR)\volint.h
LIBFILE = $(DESTDIR)\lib\afs\afsvolser.lib
LIBOBJS =\
- lockprocs.obj \
- volerr.obj \
- volint.cs.obj \
- volint.ss.obj \
- volint.xdr.obj \
- vsprocs.obj \
- vsutils.obj \
- AFS_component_version_number.obj
+ $(OJT)\lockprocs.obj \
+ $(OJT)\volerr.obj \
+ $(OJT)\volint.cs.obj \
+ $(OJT)\volint.ss.obj \
+ $(OJT)\volint.xdr.obj \
+ $(OJT)\vsprocs.obj \
+ $(OJT)\vsutils.obj \
+ $(OJT)\AFS_component_version_number.obj
$(LIBFILE): $(LIBOBJS)
$(LIBARCH)
VOLSERVER_EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\volserver.exe
VOLSERVER_EXEOBJS = \
- common.obj \
- dumpstuff.obj \
- physio.obj \
- volerr.obj \
- volint.cs.obj \
- volint.ss.obj \
- volint.xdr.obj \
- volmain.obj \
- volprocs.obj \
- voltrans.obj \
- volserver.res
+ $(OJT)\common.obj \
+ $(OJT)\dumpstuff.obj \
+ $(OJT)\physio.obj \
+ $(OJT)\volerr.obj \
+ $(OJT)\volint.cs.obj \
+ $(OJT)\volint.ss.obj \
+ $(OJT)\volint.xdr.obj \
+ $(OJT)\volmain.obj \
+ $(OJT)\volprocs.obj \
+ $(OJT)\voltrans.obj \
+ $(OJT)\volserver.res
VOLSERVER_EXELIBS = \
CL_VOS_EXEFILE = $(DESTDIR)\etc\vos.exe
VOS_EXEOBJS = \
- vos.obj \
- vsprocs.obj \
- vsutils.obj \
- lockprocs.obj \
- volint.xdr.obj \
- volerr.obj \
- vos.res
+ $(OJT)\vos.obj \
+ $(OJT)\vsprocs.obj \
+ $(OJT)\vsutils.obj \
+ $(OJT)\lockprocs.obj \
+ $(OJT)\volint.xdr.obj \
+ $(OJT)\volerr.obj \
+ $(OJT)\vos.res
VOS_EXELIBS = \
$(DESTDIR)\lib\afsubik.lib \
############################################################################
# Generate versioninfo resources
-volserver.res: volserver.rc AFS_component_version_number.h
- $(RC) $*.rc
-vos.res: vos.rc AFS_component_version_number.h
- $(RC) $*.rc
+$(OJT)\volserver.res: AFS_component_version_number.h
+
+$(OJT)\vos.res: AFS_component_version_number.h
############################################################################
# Definitions for generating files via RXGEN
+$(INCFILES):$$(@F)
+ $(COPY) $** $(INCFILEDIR)\.
volint.h volint.cs.c volint.ss.c volint.xdr.c: volint.xg
$(RXGEN) -x $**
# Local clean target; augments predefined clean target
clean::
- $(DEL) volerr.c volser.h
+ $(DEL) volerr.c volser.h $(INCFILES)
$(DEL) volint.cs.c volint.h volint.ss.c volint.xdr.c volser.h
+
+mkdir:
+