openafs/NTMakefile
Chaz Chandler e475ca5410 afsio: rewrite using libafscp
afsio is a utility for file transfer to and from AFS file space
without the help of the AFS client/cache manager.  Using libafscp,
this (partially rewritten) version of afsio is able to accomplish
(1) authenticated access to an AFS path or FID (an existing
KerberosV ticket is required), (2) fall back on unauthenticated
("anonymous") access if authentication (token acquisition) fails,
and (3) work independtly of the AFS cache manager (afsd need not
be running, though CellServDB and ThisCell are currently required).

issues:
1) libvldbint and libafsint are not compiled pthreaded. we link in
what we need. this should be changed when we are all-pthreaded.
2) venus is not a pthreaded-directory otherwise. same deal:
in an all-pthreaded universe, undo the bodge that we do here.
3) venus is not an all-krb5 directory either. slight ick.

Reviewed-on: http://gerrit.openafs.org/4381
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 94d44d59e3)

Change-Id: Ibe140c58970f1b4f2f9e7f016e55d770f8cdcc09
Reviewed-on: http://gerrit.openafs.org/5383
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
2011-09-10 16:35:53 -07:00

776 lines
14 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) ..\..\..
libafscp_headers:
@echo ***** $@
$(DOCD) $(SRC)\libafscp
$(CD) $(SRC)\libafscp
$(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) ..\..
pthread: util_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) ..\..
rx: des
@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) ..\..\..
talocale_unicode: talocale
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
license: talocale_unicode
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
client_osi: license
@echo ***** $@
$(DOCD) $(SRC)\WINNT\$@
$(CD) $(SRC)\WINNT\$@
$(NTMAKE)
$(CD) ..\..\..
afsd: client_osi libafscp
@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) ..\..
libafscp: libafscp_headers util afs volser vlserver rx auth fsint afsdobjs
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(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 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_final
$(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