# These three macros define the source, object, and destination folders
SRC=$(AFSROOT)\src
DOC=$(AFSROOT)\doc
+TESTS=$(AFSROOT)\tests
#If AFS_OBJDIR is not defined then use obj as relative obj folder
!IFNDEF AFS_OBJDIR
$(NTMAKE_HEADERS)
$(CD) ..\..\..
+libafscp_headers:
+ @echo ***** $@
+ $(DOCD) $(SRC)\libafscp
+ $(CD) $(SRC)\libafscp
+ $(NTMAKE_HEADERS)
+ $(CD) ..\..\..
+
lwp_headers:
@echo ***** $@
$(DOCD) $(SRC)\lwp
$(NTMAKE_HEADERS)
$(CD) ..\..
-util_headers:
+util_headers: opr_headers
@echo ***** $@
$(DOCD) $(SRC)\util
$(CD) $(SRC)\util
$(NTMAKE_HEADERS)
$(CD) ..\..
-pthread: util_headers
+opr_headers: roken_headers
+ @echo ***** $@
+ $(DOCD) $(SRC)\opr
+ $(CD) $(SRC)\opr
+ $(NTMAKE_HEADERS)
+ $(CD) ..\..
+
+roken_headers:
+ @echo ***** $@
+ $(DOCD) $(SRC)\roken
+ $(CD) $(SRC)\roken
+ $(NTMAKE_HEADERS)
+ $(CD) ..\..
+
+hcrypto_headers: util_headers
+ @echo ***** $@
+ $(DOCD) $(SRC)\crypto\hcrypto
+ $(CD) $(SRC)\crypto\hcrypto
+ $(NTMAKE_HEADERS)
+ $(CD) ..\..\..
+
+pthread: hcrypto_headers
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
-util: procmgmt_headers afsreg_headers lwp_headers rx_headers pthread
+util: procmgmt_headers afsreg_headers lwp_headers rx_headers opr
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-des: rxgen
+opr: rfc3961
@echo ***** $@
-! IF (EXIST($(SRC)\des\NTMakefile))
- $(DOCD) $(SRC)\des
- $(CD) $(SRC)\des
- $(NTMAKE)
- $(CD) ..\..
-! ELSE
- $(DOCD) $(SRC)\des_stub
- $(CD) $(SRC)\des_stub
- $(NTMAKE)
- $(CD) ..\..
-! ENDIF
+ $(DOCD) $(SRC)\opr
+ $(CD) $(SRC)\opr
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+hcrypto: roken
+ @echo ***** $@
+ $(DOCD) $(SRC)\crypto\hcrypto
+ $(CD) $(SRC)\crypto\hcrypto
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+rfc3961: hcrypto
+ @echo ***** $@
+ $(DOCD) $(SRC)\crypto\$@
+ $(CD) $(SRC)\crypto\$@
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+roken: pthread
+ @echo ***** $@
+ $(DOCD) $(SRC)\roken
+ $(CD) $(SRC)\roken
+ $(NTMAKE)
+ $(CD) ..\..
-rx: des
+rx: rxgen
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
- $(CD) ..\..
+ $(CD) ..\..
libacl: ptserver
@echo ***** $@
$(NTMAKE)
$(CD) ..\..
-vol: dir
+libafsrpc: dir
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-volser: vol
+rxtests: libafsrpc
+ @echo ***** $@
+ $(DOCD) $(SRC)\rx\test
+ $(CD) $(SRC)\rx\test
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+vol: rxtests
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-viced: volser
+volser: vol
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-update: viced
+update: volser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-libafsrpc: bu_utils
+libafsauthent: bu_utils
+ @echo ***** $@
+ $(DOCD) $(SRC)\$@
+ $(CD) $(SRC)\$@
+ $(NTMAKE)
+ $(CD) ..\..
+
+viced: libafsauthent
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-libafsauthent: libafsrpc
+tvolser: viced
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-tviced: libafsauthent
+dviced: tvolser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-tvolser: tviced
+dvolser: dviced
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-tbutc: tvolser
+tbutc: dvolser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..\..
-license: talocale
+talocale_unicode: talocale
+ @echo ***** $@
+ $(DOCD) $(SRC)\WINNT\$@
+ $(CD) $(SRC)\WINNT\$@
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+license: talocale_unicode
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
-afsd: client_osi
+afsd: client_osi libafscp
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
-extra: netidmgr_plugin
+afsrdr: config
+ echo ***** $@
+ $(DOCD) $(SRC)\WINNT\afsrdr
+ $(CD) $(SRC)\WINNT\afsrdr
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+rpctestlib: config fsint libafsrpc
+ @echo ***** $@
+ $(DOCD) $(TESTS)\$@
+ $(CD) $(TESTS)\$@
+ $(NTMAKE)
+ $(CD) ..\..
+
+libafscp: libafscp_headers util afs volser vlserver rx auth fsint afsdobjs
+ @echo ***** $@
+ $(DOCD) $(SRC)\$@
+ $(CD) $(SRC)\$@
+ $(NTMAKE)
+ $(CD) ..\..
+
+extra: config
! IF EXIST($(SRC)\WINNT\extra) && EXIST($(SRC)\WINNT\extra\NTMakefile)
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
! ELSE
@echo ***** Skipping $@ ***** Not found.
! ENDIF
-
-finale: extra
+
+tools: config
+ @echo ***** $@
+ $(DOCD) $(SRC)\tools\rxperf
+ $(CD) $(SRC)\tools\rxperf
+ $(NTMAKE)
+ $(CD) ..\..\..
+
+finale: netidmgr_plugin
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
-install: finale
+install: finale afsrdr tools rpctestlib extra
@echo Build Finished Successfully
# Clean target for obj tree
clean:
- nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" install
+ $(CD) $(SRC)\config
+ nmake /nologo /f ntmakefile version langsetup
+ $(CD) ..\..
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
+ nmake /nologo /f ntmakefile clean_final
$(CD) ..\..
# Language-only build target
$(NTMAKE)
$(CD) ..\..\..\..
-man-pages:
+man-pages: config
@echo ***** $@
$(DOCD) $(DOC)\man-pages
$(CD) $(DOC)\man-pages
$(NTMAKE)
$(CD) ..\..
-documentation:
+documentation: config
@echo ***** $@
$(DOCD) $(DOC)\xml\ReleaseNotesWindows
$(CD) $(DOC)\xml\ReleaseNotesWindows
$(NTMAKE)
$(CD) ..\..\..\..
-media: install NSIS wix
+wix-lite: loopback man-pages documentation
+ @echo ***** Making Wix MSI Installer (Lite)
+ $(DOCD) $(SRC)\WINNT\install\wix
+ $(CD) $(SRC)\WINNT\install\wix
+ $(NTMAKE) LITECLIENT=1
+ $(CD) ..\..\..\..
install-nsis: install NSIS
install-wix: install wix
+install-wix-lite: install wix-lite
+
+media: install-wix