1 martin 1.36 #//%2005////////////////////////////////////////////////////////////////////////
2 #//
3 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 #// IBM Corp.; EMC Corporation, The Open Group.
7 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 #// EMC Corporation; VERITAS Software Corporation; The Open Group.
11 #//
12 #// Permission is hereby granted, free of charge, to any person obtaining a copy
13 #// of this software and associated documentation files (the "Software"), to
14 #// deal in the Software without restriction, including without limitation the
15 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
16 #// sell copies of the Software, and to permit persons to whom the Software is
17 #// furnished to do so, subject to the following conditions:
18 #//
19 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
20 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
21 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
22 martin 1.36 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
23 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #//
28 #//==============================================================================
|
29 mike 1.1 OS_TYPE = windows
30 OS = win32
31 ARCHITECTURE = iX86
32 COMPILER = msvc
33
34 SYS_INCLUDES =
35
36 DEPEND_INCLUDES =
37
|
38 kumpf 1.17 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_WIN32_WINNT=0x0400
|
39 mike 1.6 #-D_WIN32_WINNT=0x0400 -DWINVER=0x0400
|
40 mike 1.1
|
41 david.dillard 1.27
42 #
43 # Determine the version of the compiler being used.
44 #
45 CL_VERSION := $(word 8, $(shell cl.exe 2>&1))
46 CL_MAJOR_VERSION := $(word 1, $(subst ., , $(CL_VERSION)))
47
48
49 #
50 # The flags set here should be valid for VC 6.
51 #
|
52 dave.sudlik 1.39 # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
53 # C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) :
54 # fatal error C1076: compiler limit : internal heap limit reached; use /Zm to
55 # specify a higher limit
56 #
57 CXX_VERSION_FLAGS := -GX -Zm105
|
58 david.dillard 1.35 CXX_VERSION_DEBUG_FLAGS :=
59 CXX_VERSION_RELEASE_FLAGS :=
60 LINK_VERSION_RELEASE_FLAGS :=
|
61 david.dillard 1.27
62
63 #
64 # CL_MAJOR_VERSION 13 is VC 7
65 #
66 ifeq ($(CL_MAJOR_VERSION), 13)
|
67 david.dillard 1.35 CXX_VERSION_FLAGS := -Wp64 -EHsc
68 CXX_VERSION_DEBUG_FLAGS := -Gs
69 CXX_VERSION_RELEASE_FLAGS := -Gs -GF -Gy
70 LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
|
71 david.dillard 1.27 endif
72
73
74 #
75 # CL_MAJOR_VERSION 14 is VC 8
76 #
77 ifeq ($(CL_MAJOR_VERSION), 14)
|
78 david.dillard 1.35 CXX_VERSION_FLAGS := -Wp64 -EHsc
79 CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
80 CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
81 LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
|
82 david.dillard 1.27 DEFINES += -D_CRT_SECURE_NO_DEPRECATE
83 endif
84
85
|
86 aruran.ms 1.38 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
|
87 david.dillard 1.35 FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
88 LINK_FLAGS += -debug
|
89 mike 1.1 else
|
90 david.dillard 1.35 FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
91 LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS)
|
92 mike 1.1 endif
93
|
94 david.dillard 1.27
|
95 karl 1.9 ifdef PEGASUS_DEBUG_CIMEXCEPTION
|
96 david.dillard 1.27 DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
|
97 karl 1.9 endif
98
|
99 karl 1.23 # Enable the compilation of the SLP functions.
|
100 a.dunfey 1.37 ifndef PEGASUS_DISABLE_SLP
101 PEGASUS_ENABLE_SLP = true
102 DEFINES += -DPEGASUS_ENABLE_SLP
|
103 joyce.j 1.34 endif
|
104 karl 1.23
|
105 karl 1.11 # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
106 # changes during interoperability tests.
107 ifdef PEGASUS_SNIA_INTEROP_TEST
|
108 david.dillard 1.27 DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
|
109 karl 1.11 endif
|
110 kumpf 1.22
|
111 mike 1.1 RM = mu rm
112
113 RMDIRHIER = mu rmdirhier
114
115 MKDIRHIER = mu mkdirhier
116
|
117 jim.wunderlich 1.26 DIFF = mu compare
118
119 SORT = mu sort
120
|
121 mike 1.1 COPY = mu copy
122
|
123 mike 1.4 MOVE = mu move
124
|
125 mike 1.1 CXX = cl -nologo
126
127 EXE_OUT = -Fe
128
129 LIB_OUT = -out:
130
131 OBJ = .obj
132
133 OBJ_OUT = -Fo
134
135 EXE = .exe
|
136 tony 1.15
137 DLL = .dll
138
139 ILK = .ilk
140
141 PDB = .pdb
142
143 EXP = .exp
|
144 mike 1.1
145 AR = LINK -nologo -dll
146
147 LIB_PREFIX =
148
149 LIB_SUFFIX = .lib
150
151 TOUCH = mu touch
152
153 ECHO = mu echo
154
155 LEX = flex
156
157 YACC = bison
|
158 mike 1.3
159 SH = bash
|
160 mike 1.4
161 YACC = bison
|
162 konrad.r 1.19
|
163 kumpf 1.21 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
164 PEGASUS_DEST_LIB_DIR = bin
|
165 kumpf 1.22
166 # The Provider User Context feature (PEP 197) is not supported on Windows
167 PEGASUS_DISABLE_PROV_USERCTXT=1
|
168 h.sterling 1.24
|
169 h.sterling 1.33 # Windows does not support local domain sockets or the equivalent Bug 2147
170 PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
|
171 h.sterling 1.30
|
172 h.sterling 1.24 # l10n
173 ifdef PEGASUS_HAS_MESSAGES
|
174 david.dillard 1.27 DEFINES += -DPEGASUS_HAS_MESSAGES
175 ifdef ICU_ROOT
|
176 h.sterling 1.30 MSG_COMPILE = genrb
177 MSG_FLAGS =
178 MSG_SOURCE_EXT = .txt
179 MSG_COMPILE_EXT = .res
180 CNV_ROOT_CMD = cnv2rootbundle
|
181 h.sterling 1.24
182 ##################################
183 ##
184 ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root resource bundle,
185 ## default is to uppercase the root resource bundle##
186 ##################################
187
188 ifdef ICU_NO_UPPERCASE_ROOT
|
189 david.dillard 1.27 CNV_ROOT_FLAGS =
|
190 h.sterling 1.24 else
|
191 david.dillard 1.27 CNV_ROOT_FLAGS = -u
|
192 h.sterling 1.24 endif
193
194 ####################################
195 ##
196 ## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from
197 ## defaults to _en if not set. if set, for any directory containing resource bundles,
198 ## there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail
199 ##
200 ## We have to use the full path library because the cl /Fe command in program-windows.mak does
201 ## not take libpath as an argument (as far as I can tell)
202 ####################################
203
204 ifdef ICU_ROOT_BUNDLE_LANG
|
205 david.dillard 1.27 MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
|
206 h.sterling 1.24 else
|
207 david.dillard 1.27 MSG_ROOT_SOURCE = _en
|
208 h.sterling 1.24 endif
|
209 david.dillard 1.27 DEFINES += -DPEGASUS_HAS_ICU
210 EXTRA_LIBRARIES += $(ICU_INSTALL)/lib/icuuc.lib $(ICU_INSTALL)/lib/icuin.lib $(ICU_INSTALL)/lib/icudt.lib
211 SYS_INCLUDES += -I$(ICU_ROOT)/source/common -I$(ICU_ROOT)/source/i18n
212 endif
|
213 h.sterling 1.24 endif
|