(file) Return to platform_WIN32_IX86_MSVC.mak CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

  1 martin 1.51 #//%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.52 #//
  3 martin 1.51 #// Licensed to The Open Group (TOG) under one or more contributor license
  4             #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             #// this work for additional information regarding copyright ownership.
  6             #// Each contributor licenses this file to you under the OpenPegasus Open
  7             #// Source License; you may not use this file except in compliance with the
  8             #// License.
  9 martin 1.52 #//
 10 martin 1.51 #// Permission is hereby granted, free of charge, to any person obtaining a
 11             #// copy of this software and associated documentation files (the "Software"),
 12             #// to deal in the Software without restriction, including without limitation
 13             #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             #// and/or sell copies of the Software, and to permit persons to whom the
 15             #// Software is furnished to do so, subject to the following conditions:
 16 martin 1.52 #//
 17 martin 1.51 #// The above copyright notice and this permission notice shall be included
 18             #// in all copies or substantial portions of the Software.
 19 martin 1.52 #//
 20 martin 1.51 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.52 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.51 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.52 #//
 28 martin 1.51 #//////////////////////////////////////////////////////////////////////////
 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 s.kodali 1.54 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_WIN32_WINNT=0x0600
 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 dave.sudlik   1.43 # Determine the version of Windows being used.
 51                    # IPv6 is not supported on Windows 2000 (earliest Windows version supported
 52 dave.sudlik   1.45 # by Pegasus), but we don't enforce that here.
 53                    # IPv6 is not supported by the VC 6 compiler (CL_MAJOR_VERSION is 12 for VC 6).
 54 dave.sudlik   1.43 #
 55                    ifeq ($(CL_MAJOR_VERSION), 12)
 56                        PEGASUS_ENABLE_IPV6 = false
 57                    endif
 58                    
 59                    
 60                    #
 61 david.dillard 1.27 # The flags set here should be valid for VC 6.
 62                    #
 63 dave.sudlik   1.39 # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
 64 kumpf         1.53 #   C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) :
 65                    #   fatal error C1076: compiler limit : internal heap limit reached; use /Zm to
 66 dave.sudlik   1.39 #   specify a higher limit
 67 kumpf         1.53 #
 68 dave.sudlik   1.39 CXX_VERSION_FLAGS := -GX -Zm105
 69 david.dillard 1.35 CXX_VERSION_DEBUG_FLAGS :=
 70                    CXX_VERSION_RELEASE_FLAGS :=
 71                    LINK_VERSION_RELEASE_FLAGS :=
 72 david.dillard 1.27 
 73                    
 74                    #
 75                    # CL_MAJOR_VERSION 13 is VC 7
 76                    #
 77                    ifeq ($(CL_MAJOR_VERSION), 13)
 78 david.dillard 1.35     CXX_VERSION_FLAGS := -Wp64 -EHsc
 79                        CXX_VERSION_DEBUG_FLAGS := -Gs
 80                        CXX_VERSION_RELEASE_FLAGS := -Gs -GF -Gy
 81                        LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 82 david.dillard 1.27 endif
 83                    
 84                    
 85                    #
 86                    # CL_MAJOR_VERSION 14 is VC 8
 87                    #
 88                    ifeq ($(CL_MAJOR_VERSION), 14)
 89 david.dillard 1.35     CXX_VERSION_FLAGS := -Wp64 -EHsc
 90                        CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
 91                        CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
 92                        LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 93 david.dillard 1.27     DEFINES += -D_CRT_SECURE_NO_DEPRECATE
 94 kavita.gupta  1.50     DEFINES += -D_CRT_NONSTDC_NO_DEPRECATE
 95 david.dillard 1.27 endif
 96                    
 97                    
 98 kumpf         1.53 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
 99 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
100                        LINK_FLAGS += -debug
101 mike          1.1  else
102 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
103 kavita.gupta  1.47     LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS) -map
104 mike          1.1  endif
105                    
106 david.dillard 1.27 
107 karl          1.9  ifdef PEGASUS_DEBUG_CIMEXCEPTION
108 david.dillard 1.27     DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
109 karl          1.9  endif
110                    
111 jim.wunderlich 1.40 # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
112 karl           1.23 # Enable the compilation of the SLP functions.
113 jim.wunderlich 1.40 #
114                     ifndef PEGASUS_ENABLE_SLP
115 a.dunfey       1.37     PEGASUS_ENABLE_SLP = true
116 joyce.j        1.34 endif
117 karl           1.23 
118 karl           1.11 # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
119                     # changes during interoperability tests.
120                     ifdef PEGASUS_SNIA_INTEROP_TEST
121 david.dillard  1.27     DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
122 karl           1.11 endif
123 kumpf          1.22 
124 mike           1.1  RM = mu rm
125                     
126                     RMDIRHIER = mu rmdirhier
127                     
128                     MKDIRHIER = mu mkdirhier
129                     
130 jim.wunderlich 1.26 DIFF = mu compare
131                     
132                     SORT = mu sort
133                     
134 mike           1.1  COPY = mu copy
135                     
136 mike           1.4  MOVE = mu move
137                     
138 mike           1.1  CXX = cl -nologo
139                     
140                     EXE_OUT = -Fe
141                     
142                     LIB_OUT = -out:
143                     
144                     OBJ = .obj
145                     
146                     OBJ_OUT = -Fo
147                     
148                     EXE = .exe
149 tony           1.15 
150                     DLL = .dll
151                     
152                     ILK = .ilk
153                     
154                     PDB = .pdb
155                     
156                     EXP = .exp
157 mike           1.1  
158                     AR = LINK -nologo -dll
159                     
160                     LIB_PREFIX =
161                     
162                     LIB_SUFFIX = .lib
163                     
164                     TOUCH = mu touch
165                     
166                     ECHO = mu echo
167                     
168                     LEX = flex
169                     
170                     YACC = bison
171 mike           1.3  
172                     SH = bash
173 mike           1.4  
174                     YACC = bison
175 konrad.r       1.19 
176 kavita.gupta   1.47 RC = rc
177                     
178 kumpf          1.21 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
179                     PEGASUS_DEST_LIB_DIR = bin
180 kumpf          1.53 
181 kumpf          1.22 # The Provider User Context feature (PEP 197) is not supported on Windows
182                     PEGASUS_DISABLE_PROV_USERCTXT=1
183 h.sterling     1.24 
184 h.sterling     1.33 # Windows does not support local domain sockets or the equivalent Bug 2147
185                     PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
186 h.sterling     1.30 
187 mark.hamzy     1.42 PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
188 mateus.baur    1.44 
189                     
190                     ##################################
191                     ##
192                     ## Pegasus WMIMapper
193 kumpf          1.53 ##
194 mateus.baur    1.44 ##################################
195                     
196                     ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
197                       FLAGS += -DPEGASUS_WMIMAPPER
198 kumpf          1.53 else
199 mateus.baur    1.44   ifdef PEGASUS_WMIMAPPER
200                         FLAGS += -DPEGASUS_WMIMAPPER
201 kumpf          1.53   endif
202 mateus.baur    1.44 endif
203                     
204 mateus.baur    1.46 ##################################
205 kumpf          1.53 ##
206 mateus.baur    1.46 ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
207                     ##
208                     ##################################
209 mateus.baur    1.44 ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
210 mateus.baur    1.46   ifeq ($(CL_MAJOR_VERSION), 12)
211                         PEGASUS_WMIMAPPER_NEED_MSSDK=true
212                       endif
213 kumpf          1.53   ifeq ($(CL_MAJOR_VERSION), 13)
214 mateus.baur    1.46     PEGASUS_WMIMAPPER_NEED_MSSDK=true
215                       endif
216                       ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
217                         ifndef MSSdk
218                           $(error MSSdk environment variable undefined)
219                         endif
220 mateus.baur    1.44   endif
221                     endif
222                     
223                     
224 mateus.baur    1.46 
225                     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2