openafs/NTMakefile
Simon Wilkinson e2b4fde0b5 libroken: Build on windows
A minimal change set to get libroken to build on Windows. Sadly,
libroken contains definitions for a number of platform compatibility
macros which were previously scattered throughout the windows code.
These scattered macros have to be removed in order to build libroken.

The impact of this removal is that a very large number of files
throughout the tree require the addition of "roken.h" to pick up the
new compatibility code. The bulk of this change is adding these
includes.

In addition, some of the added includes add roken dependencies to the
Unix build. So, also add libroken to the build rules in affected Unix
Makefiles.

Change-Id: Ifba431bd37e67b1e273fbc6f69b805a232193456
Reviewed-on: http://gerrit.openafs.org/3205
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-11-17 08:12:29 -08:00

783 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) ..\..\..
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: roken_headers
@echo ***** $@
$(DOCD) $(SRC)\util
$(CD) $(SRC)\util
$(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
@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: roken
@echo ***** $@
$(DOCD) $(SRC)\crypto\hcrypto
$(CD) $(SRC)\crypto\hcrypto
$(NTMAKE)
$(CD) ..\..\..
roken: des
@echo ***** $@
$(DOCD) $(SRC)\roken
$(CD) $(SRC)\roken
$(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