(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 s.kodali      1.55 VC_CL_VERSIONS := 14 15
 49 s.kodali      1.56 VC_CL_VERSION  := $(findstring $(CL_MAJOR_VERSION), $(VC_CL_VERSIONS))
 50 david.dillard 1.27 
 51                    #
 52 dave.sudlik   1.43 # Determine the version of Windows being used.
 53                    # IPv6 is not supported on Windows 2000 (earliest Windows version supported
 54 dave.sudlik   1.45 # by Pegasus), but we don't enforce that here.
 55                    # IPv6 is not supported by the VC 6 compiler (CL_MAJOR_VERSION is 12 for VC 6).
 56 dave.sudlik   1.43 #
 57                    ifeq ($(CL_MAJOR_VERSION), 12)
 58                        PEGASUS_ENABLE_IPV6 = false
 59                    endif
 60                    
 61                    
 62                    #
 63 david.dillard 1.27 # The flags set here should be valid for VC 6.
 64                    #
 65 dave.sudlik   1.39 # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
 66 kumpf         1.53 #   C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) :
 67                    #   fatal error C1076: compiler limit : internal heap limit reached; use /Zm to
 68 dave.sudlik   1.39 #   specify a higher limit
 69 kumpf         1.53 #
 70 dave.sudlik   1.39 CXX_VERSION_FLAGS := -GX -Zm105
 71 david.dillard 1.35 CXX_VERSION_DEBUG_FLAGS :=
 72                    CXX_VERSION_RELEASE_FLAGS :=
 73                    LINK_VERSION_RELEASE_FLAGS :=
 74 david.dillard 1.27 
 75                    
 76                    #
 77                    # CL_MAJOR_VERSION 13 is VC 7
 78                    #
 79                    ifeq ($(CL_MAJOR_VERSION), 13)
 80 david.dillard 1.35     CXX_VERSION_FLAGS := -Wp64 -EHsc
 81                        CXX_VERSION_DEBUG_FLAGS := -Gs
 82                        CXX_VERSION_RELEASE_FLAGS := -Gs -GF -Gy
 83                        LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 84 david.dillard 1.27 endif
 85                    
 86                    
 87                    #
 88 s.kodali      1.55 # CL_MAJOR_VERSION 14 or 15 (i.e., VC 8 or VC 9)
 89 david.dillard 1.27 #
 90 s.kodali      1.55 ifeq ($(CL_MAJOR_VERSION), $(VC_CL_VERSION))
 91 david.dillard 1.35     CXX_VERSION_FLAGS := -Wp64 -EHsc
 92                        CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
 93                        CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
 94                        LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 95 david.dillard 1.27     DEFINES += -D_CRT_SECURE_NO_DEPRECATE
 96 kavita.gupta  1.50     DEFINES += -D_CRT_NONSTDC_NO_DEPRECATE
 97 david.dillard 1.27 endif
 98                    
 99                    
100 kumpf         1.53 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
101 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
102                        LINK_FLAGS += -debug
103 mike          1.1  else
104 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
105 kavita.gupta  1.47     LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS) -map
106 mike          1.1  endif
107                    
108 david.dillard 1.27 
109 karl          1.9  ifdef PEGASUS_DEBUG_CIMEXCEPTION
110 david.dillard 1.27     DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
111 karl          1.9  endif
112                    
113 jim.wunderlich 1.40 # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
114 karl           1.23 # Enable the compilation of the SLP functions.
115 jim.wunderlich 1.40 #
116                     ifndef PEGASUS_ENABLE_SLP
117 a.dunfey       1.37     PEGASUS_ENABLE_SLP = true
118 joyce.j        1.34 endif
119 karl           1.23 
120 karl           1.11 # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
121                     # changes during interoperability tests.
122                     ifdef PEGASUS_SNIA_INTEROP_TEST
123 david.dillard  1.27     DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
124 karl           1.11 endif
125 kumpf          1.22 
126 mike           1.1  RM = mu rm
127                     
128                     RMDIRHIER = mu rmdirhier
129                     
130                     MKDIRHIER = mu mkdirhier
131                     
132 jim.wunderlich 1.26 DIFF = mu compare
133                     
134                     SORT = mu sort
135                     
136 mike           1.1  COPY = mu copy
137                     
138 mike           1.4  MOVE = mu move
139                     
140 mike           1.1  CXX = cl -nologo
141                     
142                     EXE_OUT = -Fe
143                     
144                     LIB_OUT = -out:
145                     
146                     OBJ = .obj
147                     
148                     OBJ_OUT = -Fo
149                     
150                     EXE = .exe
151 tony           1.15 
152                     DLL = .dll
153                     
154                     ILK = .ilk
155                     
156                     PDB = .pdb
157                     
158                     EXP = .exp
159 mike           1.1  
160                     AR = LINK -nologo -dll
161                     
162                     LIB_PREFIX =
163                     
164                     LIB_SUFFIX = .lib
165                     
166                     TOUCH = mu touch
167                     
168                     ECHO = mu echo
169                     
170                     LEX = flex
171                     
172                     YACC = bison
173 mike           1.3  
174                     SH = bash
175 mike           1.4  
176                     YACC = bison
177 konrad.r       1.19 
178 kavita.gupta   1.47 RC = rc
179                     
180 kumpf          1.21 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
181                     PEGASUS_DEST_LIB_DIR = bin
182 kumpf          1.53 
183 kumpf          1.22 # The Provider User Context feature (PEP 197) is not supported on Windows
184                     PEGASUS_DISABLE_PROV_USERCTXT=1
185 h.sterling     1.24 
186 h.sterling     1.33 # Windows does not support local domain sockets or the equivalent Bug 2147
187                     PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
188 h.sterling     1.30 
189 mark.hamzy     1.42 PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
190 mateus.baur    1.44 
191                     
192                     ##################################
193                     ##
194                     ## Pegasus WMIMapper
195 kumpf          1.53 ##
196 mateus.baur    1.44 ##################################
197                     
198                     ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
199                       FLAGS += -DPEGASUS_WMIMAPPER
200 kumpf          1.53 else
201 mateus.baur    1.44   ifdef PEGASUS_WMIMAPPER
202                         FLAGS += -DPEGASUS_WMIMAPPER
203 kumpf          1.53   endif
204 mateus.baur    1.44 endif
205                     
206 mateus.baur    1.46 ##################################
207 kumpf          1.53 ##
208 mateus.baur    1.46 ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
209                     ##
210                     ##################################
211 mateus.baur    1.44 ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
212 mateus.baur    1.46   ifeq ($(CL_MAJOR_VERSION), 12)
213                         PEGASUS_WMIMAPPER_NEED_MSSDK=true
214                       endif
215 kumpf          1.53   ifeq ($(CL_MAJOR_VERSION), 13)
216 mateus.baur    1.46     PEGASUS_WMIMAPPER_NEED_MSSDK=true
217                       endif
218                       ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
219                         ifndef MSSdk
220                           $(error MSSdk environment variable undefined)
221                         endif
222 mateus.baur    1.44   endif
223                     endif
224                     
225                     
226 mateus.baur    1.46 
227                     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2