openafs/NTMakefile
Jeffrey Altman 5fce5754ce Windows: Finish converting vol apps to pthread only
The src/vol directory on Windows is one of the rare examples
where a single directory builds both lwp and pthreaded versions
of libraries and executables.  With this patchset the executables
are fully converted from lwp to pthread.  This requires that
afsrpc.dll include the pthread implementations of the threadname,
fasttime, and lock implementations from the LWP directory.
The inclusion within afsrpc.dll permits the dviced and
dvolser directories to avoid rebuilding those object modules.

Change-Id: I70c6e9ec346b5d9ef05d2400ddaf21e33a0c67a4
Reviewed-on: http://gerrit.openafs.org/3181
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-29 09:46:08 -07:00

769 lines
13 KiB
Plaintext

# Copyright 2000, International Business Machines Corporation and others.
# All Rights Reserved.
#
# 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
# Top level nmake NTMakefile driver for building AFS.
#
# This file simply imposes a reasonable total ordering on the set of
# directories to build; this ordering is of course more strict than the
# partial ordering established by the actual directory dependencies.
#
# When porting a new directory, simply add the directory into the
# dependence chain at the earliest point possible, updating its successor
# 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=$(AFSROOT)\src
DOC=$(AFSROOT)\doc
TESTS=$(AFSROOT)\tests
#If AFS_OBJDIR is not defined then use obj as relative obj folder
!IFNDEF AFS_OBJDIR
AFS_OBJDIR=$(AFSROOT)\obj\$(SYS_NAME)
!ENDIF
!IFNDEF DESTDIR
DESTDIR=$(AFSROOT)\dest\$(SYS_NAME)
!ENDIF
!IFNDEF NOCYGWIN
WIXCYGOPT=-dCygwinArchives
!ELSE
WIXCYGOPT=
!ENDIF
CD = cd
MKDIR = md
NTMAKE = nmake /nologo /f ntmakefile install
NTMAKELANG = nmake /nologo /f ntmakefile en_US
NTMAKE_HEADERS = nmake /nologo /f ntmakefile install_headers
NTMAKE_OBJS = nmake /nologo /f ntmakefile install_objs
#debug statement support jumping to last known error
DOCD=$(SRC)\DOLASTCMP.BAT
config:
@echo ***** $@
$(DOCD) $(SRC)\config
$(CD) $(SRC)\config
$(NTMAKE)
$(CD) ..\..
procmgmt_headers: config
@echo ***** $@
$(DOCD) $(SRC)\procmgmt
$(CD) $(SRC)\procmgmt
$(NTMAKE_HEADERS)
$(CD) ..\..
afsreg_headers:
@echo ***** $@
$(DOCD) $(SRC)\WINNT\afsreg
$(CD) $(SRC)\WINNT\afsreg
$(NTMAKE_HEADERS)
$(CD) ..\..\..
lwp_headers:
@echo ***** $@
$(DOCD) $(SRC)\lwp
$(CD) $(SRC)\lwp
$(NTMAKE_HEADERS)
$(CD) ..\..
rx_headers:
@echo ***** $@
$(DOCD) $(SRC)\rx
$(CD) $(SRC)\rx
$(NTMAKE_HEADERS)
$(CD) ..\..
util_headers:
@echo ***** $@
$(DOCD) $(SRC)\util
$(CD) $(SRC)\util
$(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
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
comerr: util
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
afs: comerr
@echo ***** $@
$(DOCD) $(SRC)\afs
$(CD) $(SRC)\afs
$(NTMAKE)
$(CD) ..\..
cmd: afs
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
afsreg: cmd
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
eventlog: afsreg
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
lwp: eventlog
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
rxgen: lwp
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
des: rxgen
@echo ***** $@
$(DOCD) $(SRC)\des
$(CD) $(SRC)\des
$(NTMAKE)
$(CD) ..\..
hcrypto: des
@echo ***** $@
$(DOCD) $(SRC)\crypto\hcrypto
$(CD) $(SRC)\crypto\hcrypto
$(NTMAKE)
$(CD) ..\..\..
rx: hcrypto
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
rxdebug: rx
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
ubik_headers: rxdebug
@echo ***** $@
$(DOCD) $(SRC)\ubik
$(CD) $(SRC)\ubik
$(NTMAKE_HEADERS)
$(CD) ..\..
rxstat: ubik_headers
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
rxkad: rxstat
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
procmgmt: rxkad
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
fsint: procmgmt
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
audit: fsint
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
osi_headers: audit
@echo ***** $@
$(DOCD) $(SRC)\WINNT\client_osi
$(CD) $(SRC)\WINNT\client_osi
$(NTMAKE_HEADERS)
$(CD) ..\..\..
libacl_headers: osi_headers
@echo ***** $@
$(DOCD) $(SRC)\libacl
$(CD) $(SRC)\libacl
$(NTMAKE_HEADERS)
$(CD) ..\..
cm_headers: libacl_headers
@echo ***** $@
$(DOCD) $(SRC)\WINNT\afsd
$(CD) $(SRC)\WINNT\afsd
$(NTMAKE_HEADERS)
$(CD) ..\..\..
auth_headers: cm_headers
@echo ***** $@
$(DOCD) $(SRC)\auth
$(CD) $(SRC)\auth
$(NTMAKE_HEADERS)
$(CD) ..\..
vlserver_headers: auth_headers
@echo ***** $@
$(DOCD) $(SRC)\vlserver
$(CD) $(SRC)\vlserver
$(NTMAKE_HEADERS)
$(CD) ..\..
afsdobjs: vlserver_headers
@echo ***** $@
$(DOCD) $(SRC)\WINNT\afsd
$(CD) $(SRC)\WINNT\afsd
$(NTMAKE_OBJS)
$(CD) ..\..\..
sys: afsdobjs
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
auth: sys
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
ubik: auth
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
ptserver: ubik
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
libacl: ptserver
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
kauth: libacl
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
vlserver: kauth
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
usd: vlserver
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bubasics: usd
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
budb: bubasics
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
butm: budb
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
dir: butm
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
libafsrpc: dir
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
vol: libafsrpc
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
volser: vol
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
viced: volser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
update: viced
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bucoord: update
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
butc: bucoord
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bozo: butc
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
bosctlsvc: bozo
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
bu_utils: bosctlsvc
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
libafsauthent: bu_utils
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
tviced: libafsauthent
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
tvolser: tviced
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
dviced: tvolser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
dvolser: dviced
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
tbutc: dvolser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
talocale: tbutc
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
license: talocale
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_osi: license
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afsd: client_osi
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
libadmin: afsd
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
adminutil: libadmin
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
vos: adminutil
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
client: vos
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
kas: client
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
pts: kas
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
bos: pts
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
cfg: bos
@echo ***** $@
$(DOCD) $(SRC)\libadmin\$@
$(CD) $(SRC)\libadmin\$@
$(NTMAKE)
$(CD) ..\..\..
admintest: cfg
@echo ***** $@
$(DOCD) $(SRC)\libadmin\test
$(CD) $(SRC)\libadmin\test
$(NTMAKE)
$(CD) ..\..\..
afsadmsvr: admintest
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afsusrmgr: afsadmsvr
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afssvrmgr: afsusrmgr
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afssvrcfg: afssvrmgr
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afssvrcpa: afssvrcfg
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_talocale: afssvrcpa
@echo ***** $@
$(DOCD) $(SRC)\WINNT\talocale
$(CD) $(SRC)\WINNT\talocale
$(NTMAKE)
$(CD) ..\..\..
client_cpa: client_talocale
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_config: client_cpa
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_exp: client_config
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_creds: client_exp
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
aklog: client_creds
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
xstat: aklog
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
netidmgr_plugin: xstat
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
rpctestlib: fsint libafsrpc
@echo ***** $@
$(DOCD) $(TESTS)\$@
$(CD) $(TESTS)\$@
$(NTMAKE)
$(CD) ..\..
extra: netidmgr_plugin rpctestlib
! IF EXIST($(SRC)\WINNT\extra) && EXIST($(SRC)\WINNT\extra\NTMakefile)
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
! ELSE
@echo ***** Skipping $@ ***** Not found.
! ENDIF
finale: extra
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
install: finale
@echo Build Finished Successfully
# Clean target for obj tree
clean:
$(CD) $(SRC)\config
nmake /nologo /f ntmakefile version
$(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
$(CD) ..\..
# Language-only build target
lang:
nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile lang" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile lang" install
mkdir:
-mkdir $(AFS_OBJDIR)
-mkdir $(DESTDIR)
-mkdir $(AFS_OBJDIR)\checked
-mkdir $(AFS_OBJDIR)\free
-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 .
loopback:
@echo ***** Making Loopback Adapter Utility DLL
$(DOCD) $(SRC)\WINNT\install\$@
$(CD) $(SRC)\WINNT\install\$@
$(NTMAKE)
$(CD) ..\..\..\..
man-pages: config
@echo ***** $@
$(DOCD) $(DOC)\man-pages
$(CD) $(DOC)\man-pages
$(NTMAKE)
$(CD) ..\..
documentation: config
@echo ***** $@
$(DOCD) $(DOC)\xml\ReleaseNotesWindows
$(CD) $(DOC)\xml\ReleaseNotesWindows
$(NTMAKE)
$(DOCD) ..\UserGuide
$(CD) ..\UserGuide
$(NTMAKE)
$(DOCD) ..\AdminGuide
$(CD) ..\AdminGuide
$(NTMAKE)
$(DOCD) ..\..\..
$(CD) ..\..\..
NSIS.i386: loopback man-pages documentation
@echo ***** Making NSIS Installer
$(DOCD) $(SRC)\WINNT\install\NSIS
$(CD) $(SRC)\WINNT\install\NSIS
$(NTMAKE)
$(CD) ..\..\..\..
NSIS.AMD64:
@echo Skipping NSIS Installer on non-x86 platforms; not implemented
NSIS: NSIS.$(CPU)
wix: loopback man-pages documentation
@echo ***** Making Wix MSI Installer
$(DOCD) $(SRC)\WINNT\install\$@
$(CD) $(SRC)\WINNT\install\$@
$(NTMAKE)
$(CD) ..\..\..\..
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) ..\..\..\..
media: install NSIS wix
install-nsis: install NSIS
install-wix: install wix
install-wix-lite: install wix-lite