|
Packit |
fd8b60 |
WHAT=windows
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
all: setup-msg outpre-dir
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
all: all-$(WHAT)
|
|
Packit |
fd8b60 |
clean: clean-$(WHAT)
|
|
Packit |
fd8b60 |
install: install-$(WHAT)
|
|
Packit |
fd8b60 |
check: check-$(WHAT)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
all-windows:
|
|
Packit |
fd8b60 |
clean-windows::
|
|
Packit |
fd8b60 |
install-windows:
|
|
Packit |
fd8b60 |
check-windows:
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
all-windows: Makefile
|
|
Packit |
fd8b60 |
clean-windows:: Makefile
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
# Figure out the CPU
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
!if !defined(CPU) || "$(CPU)" == ""
|
|
Packit |
fd8b60 |
CPU=$(PROCESSOR_ARCHITECTURE)
|
|
Packit |
fd8b60 |
!endif # CPU
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if "$(CPU)" == ""
|
|
Packit |
fd8b60 |
CPU=i386
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
# Change x86 or X86 to i386
|
|
Packit |
fd8b60 |
!if ( "$(CPU)" == "X86" ) || ( "$(CPU)" == "x86" )
|
|
Packit |
fd8b60 |
CPU=i386
|
|
Packit |
fd8b60 |
!endif # CPU == X86
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if ( "$(CPU)" != "i386" ) && ( "$(CPU)" != "ALPHA" ) && ( "$(CPU)" != "ALPHA64" ) && ( "$(CPU)" != "IA64" ) && ( "$(CPU)" != "AMD64" )
|
|
Packit |
fd8b60 |
!error Must specify CPU environment variable ( CPU=i386, CPU=ALPHA, CPU=ALPHA64,CPU=IA64, CPU=AMD64)
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if ("$(CPU)" == "IA64" ) || ("$(CPU)" == "AMD64" ) || ("$(CPU)" == "ALPHA64" )
|
|
Packit |
fd8b60 |
BITS=64
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
BITS=32
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
# End of figuring out CPU
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if "$(OS)" == "Windows_NT"
|
|
Packit |
fd8b60 |
DIRNUL=
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
DIRNUL=\nul
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
# NOTE: ^ is an escape char for NMAKE.
|
|
Packit |
fd8b60 |
!ifdef NODEBUG
|
|
Packit |
fd8b60 |
OUTPRE_DBG=rel
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
OUTPRE_DBG=dbg
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
OUTPRE1=obj
|
|
Packit |
fd8b60 |
OUTPRE2=$(OUTPRE1)\$(CPU)
|
|
Packit |
fd8b60 |
OUTPRE3=$(OUTPRE2)\$(OUTPRE_DBG)
|
|
Packit |
fd8b60 |
OUTPRE=$(OUTPRE3)^\
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
$(OUTPRE3)$(DIRNUL):
|
|
Packit |
fd8b60 |
-@if not exist $(OUTPRE1)$(DIRNUL) mkdir $(OUTPRE1)
|
|
Packit |
fd8b60 |
-@if not exist $(OUTPRE2)$(DIRNUL) mkdir $(OUTPRE2)
|
|
Packit |
fd8b60 |
-@if not exist $(OUTPRE3)$(DIRNUL) mkdir $(OUTPRE3)
|
|
Packit |
fd8b60 |
@if exist $(OUTPRE3)$(DIRNUL) echo Output going into $(OUTPRE3)
|
|
Packit |
fd8b60 |
@if not exist $(OUTPRE1)$(DIRNUL) echo The directory $(OUTPRE1) could not be created.
|
|
Packit |
fd8b60 |
@if exist $(OUTPRE1)$(DIRNUL) if not exist $(OUTPRE2)$(DIRNUL) echo The directory $(OUTPRE2) could not be created.
|
|
Packit |
fd8b60 |
@if exist $(OUTPRE2)$(DIRNUL) if not exist $(OUTPRE3)$(DIRNUL) echo The directory $(OUTPRE3) could not be created.
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
clean-windows-dir:
|
|
Packit |
fd8b60 |
-@if exist $(OUTPRE3)$(DIRNUL) rmdir $(OUTPRE3)
|
|
Packit |
fd8b60 |
-@if exist $(OUTPRE2)$(DIRNUL) rmdir $(OUTPRE2)
|
|
Packit |
fd8b60 |
-@if exist $(OUTPRE1)$(DIRNUL) rmdir $(OUTPRE1)
|
|
Packit |
fd8b60 |
@if exist $(OUTPRE2)$(DIRNUL) echo The directory $(OUTPRE2) is not empty.
|
|
Packit |
fd8b60 |
@if not exist $(OUTPRE2)$(DIRNUL) if exist $(OUTPRE1)$(DIRNUL) echo The directory $(OUTPRE1) is not empty.
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
# Directory syntax:
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
# begin absolute path
|
|
Packit |
fd8b60 |
ABS=^\
|
|
Packit |
fd8b60 |
# begin relative path
|
|
Packit |
fd8b60 |
REL=
|
|
Packit |
fd8b60 |
# up-directory
|
|
Packit |
fd8b60 |
U=..
|
|
Packit |
fd8b60 |
# path separator
|
|
Packit |
fd8b60 |
S=^\
|
|
Packit |
fd8b60 |
# this is magic... should only be used for preceding a program invocation
|
|
Packit |
fd8b60 |
C=.^\
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
srcdir = .
|
|
Packit |
fd8b60 |
top_srcdir = $(srcdir)\$(BUILDTOP)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
DNSLIBS=dnsapi.lib
|
|
Packit |
fd8b60 |
DNSFLAGS=-DKRB5_DNS_LOOKUP=1
|
|
Packit |
fd8b60 |
!if defined(KRB5_USE_DNS_REALMS)
|
|
Packit |
fd8b60 |
DNSFLAGS=$(DNSFLAGS) -DKRB5_DNS_LOOKUP_REALM=1
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if ("$(CPU)" == "i386")
|
|
Packit |
fd8b60 |
TIME_T_FLAGS=-D_USE_32BIT_TIME_T
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if defined (NODEBUG)
|
|
Packit |
fd8b60 |
KFWFLAGS=-DUSE_LEASH=1
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
KFWFLAGS=-DUSE_LEASH=1 -DDEBUG -D_CRTDBG_MAP_ALLOC
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
# The name of the C compiler for the target
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
CC=cl
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
PDB_OPTS=-Fd$(OUTPRE)\ -FD
|
|
Packit |
fd8b60 |
CPPFLAGS=-I$(top_srcdir)\include -I$(top_srcdir)\include\krb5 $(DNSFLAGS) -DWIN32_LEAN_AND_MEAN -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -D_CRT_SECURE_NO_DEPRECATE $(KFWFLAGS) $(TIME_T_FLAGS)
|
|
Packit |
fd8b60 |
CCOPTS=-nologo /EHsc /W3 $(PDB_OPTS) $(DLL_FILE_DEF)
|
|
Packit |
fd8b60 |
LOPTS=-nologo -incremental:no -manifest
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
!if ("$(BITS)" == "64" )
|
|
Packit |
fd8b60 |
ENTRYPOINT=_DllMainCRTStartup
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
ENTRYPOINT=_DllMainCRTStartup@12
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
CCLINKOPTION=
|
|
Packit |
fd8b60 |
DEBUGOPT=/Zi
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#if the compiler is vstudio 8, generate manifest
|
|
Packit |
fd8b60 |
!if exists("$(VCINSTALLDIR)\..\..\MICROSOFT VISUAL STUDIO 8")
|
|
Packit |
fd8b60 |
CCLINKOPTION = $(CCLINKOPTION) /MANIFEST
|
|
Packit |
fd8b60 |
_VC_MANIFEST_EMBED_EXE = if exist $*.exe.manifest mt.exe -manifest $*.exe.manifest -outputresource:$*.exe;1
|
|
Packit |
fd8b60 |
_VC_MANIFEST_EMBED_DLL = if exist $*.dll.manifest mt.exe -manifest $*.dll.manifest -outputresource:$*.dll;2
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
# /ZI gives better debug info in each object file (MSVC 6.0 or higher).
|
|
Packit |
fd8b60 |
# /Zi gives debug info in each object file.
|
|
Packit |
fd8b60 |
# /Gs Avoid stack probes (they don't seem to work anyway)
|
|
Packit |
fd8b60 |
# /Os optimize for space. FIXME: Do not use /Ox; it miscompiles the DES lib!
|
|
Packit |
fd8b60 |
# /Od disable optimization (for debugging)
|
|
Packit |
fd8b60 |
# /MD (Win32) thread safe, ML would be single threaded, don't build with ML
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
# CCOPTS was for DLL compiles
|
|
Packit |
fd8b60 |
# CCOPTS2 was for non-DLL compiles (EXEs, for example)
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
!ifdef NODEBUG
|
|
Packit |
fd8b60 |
!ifdef DEBUG_SYMBOL
|
|
Packit |
fd8b60 |
CCOPTS=$(DEBUGOPT) $(CCOPTS)
|
|
Packit |
fd8b60 |
LOPTS=$(LOPTS) -debug
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
CCOPTS=/Os /MD $(CCOPTS)
|
|
Packit |
fd8b60 |
LOPTS=$(LOPTS)
|
|
Packit |
fd8b60 |
!ifdef DEBUG_SYMBOL
|
|
Packit |
fd8b60 |
INSTALLDBGSYMS=copy
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
INSTALLDBGSYMS=rem
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
!else
|
|
Packit |
fd8b60 |
CCOPTS=/Od $(DEBUGOPT) /MDd $(CCOPTS)
|
|
Packit |
fd8b60 |
LOPTS=$(LOPTS) -debug
|
|
Packit |
fd8b60 |
INSTALLDBGSYMS=copy
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
# XXX - NOTE: We should probably use DllMainCRTStartup
|
|
Packit |
fd8b60 |
DLL_LINKOPTS=$(LOPTS) -dll -entry:DllMain
|
|
Packit |
fd8b60 |
EXE_LINKOPTS=$(LOPTS)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
RM=$(BUILDTOP)\config\rm.bat
|
|
Packit |
fd8b60 |
LIBECHO=$(BUILDTOP)\util\windows\$(OUTPRE)libecho
|
|
Packit |
fd8b60 |
CP=copy/b nul:+
|
|
Packit |
fd8b60 |
MV=ren
|
|
Packit |
fd8b60 |
LN=copy
|
|
Packit |
fd8b60 |
LIBCMD=lib
|
|
Packit |
fd8b60 |
AWK=rem
|
|
Packit |
fd8b60 |
RC = rc
|
|
Packit |
fd8b60 |
CVTRES = cvtres
|
|
Packit |
fd8b60 |
PERL=perl
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
WCONFIG_EXE=$(BUILDTOP)\$(OUTPRE)wconfig.exe
|
|
Packit |
fd8b60 |
WCONFIG=$(WCONFIG_EXE:.exe=) $(WCONFIG_FLAGS)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
CLIB=$(BUILDTOP)\lib\$(OUTPRE)comerr$(BITS).lib
|
|
Packit |
fd8b60 |
PLIB=$(BUILDTOP)\lib\$(OUTPRE)xpprof$(BITS).lib
|
|
Packit |
fd8b60 |
KLIB=$(BUILDTOP)\lib\$(OUTPRE)krb5_$(BITS).lib
|
|
Packit |
fd8b60 |
SLIB=$(BUILDTOP)\lib\$(OUTPRE)k5sprt$(BITS).lib
|
|
Packit |
fd8b60 |
GLIB=$(BUILDTOP)\lib\$(OUTPRE)gssapi$(BITS).lib
|
|
Packit |
fd8b60 |
CCLIB=krbcc$(BITS)
|
|
Packit |
fd8b60 |
SPAKELIB=spake$(BITS)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
KRB4_INCLUDES=-I$(BUILDTOP)/include/kerberosIV
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
COM_ERR_DEPS = $(BUILDTOP)/include/com_err.h
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
RANLIB=rem
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
OBJEXT=obj
|
|
Packit |
fd8b60 |
EXEEXT=.exe
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
MFLAGS=$(MAKEFLAGS)
|
|
Packit |
fd8b60 |
!ifdef MIGNORE
|
|
Packit |
fd8b60 |
MAKE=-$(MAKE)
|
|
Packit |
fd8b60 |
!endif
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
CRYPTO_IMPL = builtin
|
|
Packit |
fd8b60 |
PRNG_ALG = fortuna
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
CFLAGS = $(CCOPTS)
|
|
Packit |
fd8b60 |
ALL_CFLAGS = $(DEFS) $(DEFINES) $(LOCALINCLUDES) $(CPPFLAGS) $(CFLAGS)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
C_RULE_STUFF=$(CC) $(ALL_CFLAGS) -Fo$(OUTPRE)\ -c
|
|
Packit |
fd8b60 |
C_RULE_PRINT=$(C_RULE_STUFF)
|
|
Packit |
fd8b60 |
C_RULE=$(C_RULE_STUFF) $<
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
{}.rc{$(OUTPRE)}.res:
|
|
Packit |
fd8b60 |
$(RC) $(RCFLAGS) -fo $@ -r $<
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
{}.c{$(OUTPRE)}.obj:
|
|
Packit |
fd8b60 |
@if "%DO_C_RULE_PRINT%"=="1" echo %C_RULE_PRINT% ...
|
|
Packit |
fd8b60 |
@set DO_C_RULE_PRINT=
|
|
Packit |
fd8b60 |
@$(C_RULE)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
{}.cxx{$(OUTPRE)}.obj:
|
|
Packit |
fd8b60 |
@if "%DO_C_RULE_PRINT%"=="1" echo %C_RULE_PRINT% ...
|
|
Packit |
fd8b60 |
@set DO_C_RULE_PRINT=
|
|
Packit |
fd8b60 |
@$(C_RULE)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
{}.cpp{$(OUTPRE)}.obj:
|
|
Packit |
fd8b60 |
@if "%DO_C_RULE_PRINT%"=="1" echo %C_RULE_PRINT% ...
|
|
Packit |
fd8b60 |
@set DO_C_RULE_PRINT=
|
|
Packit |
fd8b60 |
@$(C_RULE)
|
|
Packit |
fd8b60 |
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
# End of Win32 pre-config lines (config/win-pre.in)
|
|
Packit |
fd8b60 |
#
|
|
Packit |
fd8b60 |
|