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