1 # Copyright 2000, International Business Machines Corporation and others.
4 # This software has been released under the terms of the IBM Public
5 # License. For details, see the LICENSE file in the top-level source
6 # directory or online at http://www.openafs.org/dl/license10.html
8 # Top level nmake NTMakefile driver for building AFS.
10 # This file simply imposes a reasonable total ordering on the set of
11 # directories to build; this ordering is of course more strict than the
12 # partial ordering established by the actual directory dependencies.
14 # When porting a new directory, simply add the directory into the
15 # dependence chain at the earliest point possible, updating its successor
16 # appropriately; if the new directory is the last in the chain, then
17 # update the 'finale' dependency to be the new directory.
19 # These three macros define the source, object, and destination folders
22 TESTS=$(AFSROOT)\tests
24 #If AFS_OBJDIR is not defined then use obj as relative obj folder
26 AFS_OBJDIR=$(AFSROOT)\obj\$(SYS_NAME)
30 DESTDIR=$(AFSROOT)\dest\$(SYS_NAME)
34 WIXCYGOPT=-dCygwinArchives
42 NTMAKE = nmake /nologo /f ntmakefile install
43 NTMAKELANG = nmake /nologo /f ntmakefile en_US
44 NTMAKE_HEADERS = nmake /nologo /f ntmakefile install_headers
45 NTMAKE_OBJS = nmake /nologo /f ntmakefile install_objs
47 #debug statement support jumping to last known error
48 DOCD=$(SRC)\DOLASTCMP.BAT
57 procmgmt_headers: config
59 $(DOCD) $(SRC)\procmgmt
66 $(DOCD) $(SRC)\WINNT\afsreg
67 $(CD) $(SRC)\WINNT\afsreg
73 $(DOCD) $(SRC)\libafscp
92 util_headers: opr_headers
99 opr_headers: roken_headers
113 hcrypto_headers: util_headers
115 $(DOCD) $(SRC)\crypto\hcrypto
116 $(CD) $(SRC)\crypto\hcrypto
120 pthread: hcrypto_headers
122 $(DOCD) $(SRC)\WINNT\$@
123 $(CD) $(SRC)\WINNT\$@
127 util: procmgmt_headers afsreg_headers lwp_headers rx_headers opr
157 $(DOCD) $(SRC)\WINNT\$@
158 $(CD) $(SRC)\WINNT\$@
164 $(DOCD) $(SRC)\WINNT\$@
165 $(CD) $(SRC)\WINNT\$@
192 $(DOCD) $(SRC)\crypto\hcrypto
193 $(CD) $(SRC)\crypto\hcrypto
199 $(DOCD) $(SRC)\crypto\$@
200 $(CD) $(SRC)\crypto\$@
225 ubik_headers: rxdebug
276 $(DOCD) $(SRC)\WINNT\client_osi
277 $(CD) $(SRC)\WINNT\client_osi
281 libacl_headers: osi_headers
283 $(DOCD) $(SRC)\libacl
288 cm_headers: libacl_headers
290 $(DOCD) $(SRC)\WINNT\afsd
291 $(CD) $(SRC)\WINNT\afsd
295 rxgk_headers: cm_headers
302 auth_headers: rxgk_headers
309 vlserver_headers: auth_headers
311 $(DOCD) $(SRC)\vlserver
312 $(CD) $(SRC)\vlserver
316 afsdobjs: vlserver_headers
318 $(DOCD) $(SRC)\WINNT\afsd
319 $(CD) $(SRC)\WINNT\afsd
408 $(DOCD) $(SRC)\rx\test
457 $(DOCD) $(SRC)\WINNT\$@
458 $(CD) $(SRC)\WINNT\$@
469 libafsauthent: bu_utils
513 $(DOCD) $(SRC)\WINNT\$@
514 $(CD) $(SRC)\WINNT\$@
518 talocale_unicode: talocale
520 $(DOCD) $(SRC)\WINNT\$@
521 $(CD) $(SRC)\WINNT\$@
525 license: talocale_unicode
527 $(DOCD) $(SRC)\WINNT\$@
528 $(CD) $(SRC)\WINNT\$@
534 $(DOCD) $(SRC)\WINNT\$@
535 $(CD) $(SRC)\WINNT\$@
539 afsd: client_osi libafscp
541 $(DOCD) $(SRC)\WINNT\$@
542 $(CD) $(SRC)\WINNT\$@
555 $(DOCD) $(SRC)\libadmin\$@
556 $(CD) $(SRC)\libadmin\$@
562 $(DOCD) $(SRC)\libadmin\$@
563 $(CD) $(SRC)\libadmin\$@
569 $(DOCD) $(SRC)\libadmin\$@
570 $(CD) $(SRC)\libadmin\$@
576 $(DOCD) $(SRC)\libadmin\$@
577 $(CD) $(SRC)\libadmin\$@
583 $(DOCD) $(SRC)\libadmin\$@
584 $(CD) $(SRC)\libadmin\$@
590 $(DOCD) $(SRC)\libadmin\$@
591 $(CD) $(SRC)\libadmin\$@
597 $(DOCD) $(SRC)\libadmin\$@
598 $(CD) $(SRC)\libadmin\$@
604 $(DOCD) $(SRC)\libadmin\test
605 $(CD) $(SRC)\libadmin\test
611 $(DOCD) $(SRC)\WINNT\$@
612 $(CD) $(SRC)\WINNT\$@
618 $(DOCD) $(SRC)\WINNT\$@
619 $(CD) $(SRC)\WINNT\$@
625 $(DOCD) $(SRC)\WINNT\$@
626 $(CD) $(SRC)\WINNT\$@
632 $(DOCD) $(SRC)\WINNT\$@
633 $(CD) $(SRC)\WINNT\$@
639 $(DOCD) $(SRC)\WINNT\$@
640 $(CD) $(SRC)\WINNT\$@
644 client_talocale: afssvrcpa
646 $(DOCD) $(SRC)\WINNT\talocale
647 $(CD) $(SRC)\WINNT\talocale
651 client_cpa: client_talocale
653 $(DOCD) $(SRC)\WINNT\$@
654 $(CD) $(SRC)\WINNT\$@
658 client_config: client_cpa
660 $(DOCD) $(SRC)\WINNT\$@
661 $(CD) $(SRC)\WINNT\$@
665 client_exp: client_config
667 $(DOCD) $(SRC)\WINNT\$@
668 $(CD) $(SRC)\WINNT\$@
672 client_creds: client_exp
674 $(DOCD) $(SRC)\WINNT\$@
675 $(CD) $(SRC)\WINNT\$@
681 $(DOCD) $(SRC)\WINNT\$@
682 $(CD) $(SRC)\WINNT\$@
693 netidmgr_plugin: xstat
695 $(DOCD) $(SRC)\WINNT\$@
696 $(CD) $(SRC)\WINNT\$@
702 $(DOCD) $(SRC)\WINNT\afsrdr
703 $(CD) $(SRC)\WINNT\afsrdr
707 rpctestlib: config fsint libafsrpc
714 libafscp: libafscp_headers util afs volser vlserver rx auth fsint afsdobjs
722 ! IF EXIST($(SRC)\WINNT\extra) && EXIST($(SRC)\WINNT\extra\NTMakefile)
724 $(DOCD) $(SRC)\WINNT\$@
725 $(CD) $(SRC)\WINNT\$@
729 @echo ***** Skipping $@ ***** Not found.
734 $(DOCD) $(SRC)\tools\rxperf
735 $(CD) $(SRC)\tools\rxperf
739 finale: netidmgr_plugin
746 install: finale afsrdr tools rpctestlib extra
747 @echo Build Finished Successfully
750 # Clean target for obj tree
753 nmake /nologo /f ntmakefile version langsetup
755 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
757 nmake /nologo /f ntmakefile clean_final
760 # Language-only build target
762 nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
767 -mkdir $(AFS_OBJDIR)\checked
768 -mkdir $(AFS_OBJDIR)\free
769 -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\checked\
770 -xcopy /q /t /e $(SRC)\*.* $(AFS_OBJDIR)\free\
771 -mkdir $(DESTDIR)\checked
772 -mkdir $(DESTDIR)\free
773 -mkdir $(DESTDIR)\checked\bin
774 -mkdir $(DESTDIR)\free\bin
775 -@copy $(SRC)\config\NTLANG.BAT .
778 @echo ***** Making Loopback Adapter Utility DLL
779 $(DOCD) $(SRC)\WINNT\install\$@
780 $(CD) $(SRC)\WINNT\install\$@
786 $(DOCD) $(DOC)\man-pages
787 $(CD) $(DOC)\man-pages
791 documentation: config
793 $(DOCD) $(DOC)\xml\ReleaseNotesWindows
794 $(CD) $(DOC)\xml\ReleaseNotesWindows
799 $(DOCD) ..\AdminGuide
805 NSIS.i386: loopback man-pages documentation
806 @echo ***** Making NSIS Installer
807 $(DOCD) $(SRC)\WINNT\install\NSIS
808 $(CD) $(SRC)\WINNT\install\NSIS
813 @echo Skipping NSIS Installer on non-x86 platforms; not implemented
817 wix: loopback man-pages documentation
818 @echo ***** Making Wix MSI Installer
819 $(DOCD) $(SRC)\WINNT\install\$@
820 $(CD) $(SRC)\WINNT\install\$@
824 wix-lite: loopback man-pages documentation
825 @echo ***** Making Wix MSI Installer (Lite)
826 $(DOCD) $(SRC)\WINNT\install\wix
827 $(CD) $(SRC)\WINNT\install\wix
828 $(NTMAKE) LITECLIENT=1
831 install-nsis: install NSIS
833 install-wix: install wix
835 install-wix-lite: install wix-lite