(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 marek         1.59 VC_CL_VERSIONS := 14 15 16
 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 marek         1.59 # CL_MAJOR_VERSION 14, 15 or 16 (i.e., VC 8, VC 9 or VC 2010)
 89 david.dillard 1.27 #
 90 s.kodali      1.55 ifeq ($(CL_MAJOR_VERSION), $(VC_CL_VERSION))
 91 s.kodali      1.57     CXX_VERSION_FLAGS := -EHsc
 92 david.dillard 1.35     CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
 93                        CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
 94 dev.meetei    1.60     # VC 2010 only setting as it dont take /OPT:NOWIN98 anymore
 95                        ifeq ($(CL_MAJOR_VERSION), 16)
 96                            LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5
 97                        else
 98                            LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 99                        endif
100 david.dillard 1.27     DEFINES += -D_CRT_SECURE_NO_DEPRECATE
101 kavita.gupta  1.50     DEFINES += -D_CRT_NONSTDC_NO_DEPRECATE
102 david.dillard 1.27 endif
103                    
104                    
105 kumpf         1.53 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
106 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
107                        LINK_FLAGS += -debug
108 mike          1.1  else
109 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
110 kavita.gupta  1.47     LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS) -map
111 mike          1.1  endif
112                    
113 david.dillard 1.27 
114 karl          1.9  ifdef PEGASUS_DEBUG_CIMEXCEPTION
115 david.dillard 1.27     DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
116 karl          1.9  endif
117                    
118 jim.wunderlich 1.40 # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
119 karl           1.23 # Enable the compilation of the SLP functions.
120 jim.wunderlich 1.40 #
121                     ifndef PEGASUS_ENABLE_SLP
122 a.dunfey       1.37     PEGASUS_ENABLE_SLP = true
123 joyce.j        1.34 endif
124 karl           1.23 
125 mike           1.1  RM = mu rm
126                     
127                     RMDIRHIER = mu rmdirhier
128                     
129                     MKDIRHIER = mu mkdirhier
130                     
131 jim.wunderlich 1.26 DIFF = mu compare
132                     
133                     SORT = mu sort
134                     
135 mike           1.1  COPY = mu copy
136                     
137 mike           1.4  MOVE = mu move
138                     
139 mike           1.1  CXX = cl -nologo
140                     
141                     EXE_OUT = -Fe
142                     
143                     LIB_OUT = -out:
144                     
145                     OBJ = .obj
146                     
147                     OBJ_OUT = -Fo
148                     
149                     EXE = .exe
150 tony           1.15 
151                     DLL = .dll
152                     
153                     ILK = .ilk
154                     
155                     PDB = .pdb
156                     
157                     EXP = .exp
158 mike           1.1  
159                     AR = LINK -nologo -dll
160                     
161                     LIB_PREFIX =
162                     
163                     LIB_SUFFIX = .lib
164                     
165                     TOUCH = mu touch
166                     
167                     ECHO = mu echo
168                     
169                     LEX = flex
170                     
171                     YACC = bison
172 mike           1.3  
173                     SH = bash
174 mike           1.4  
175                     YACC = bison
176 konrad.r       1.19 
177 kavita.gupta   1.47 RC = rc
178                     
179 kumpf          1.21 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
180                     PEGASUS_DEST_LIB_DIR = bin
181 kumpf          1.53 
182 kumpf          1.22 # The Provider User Context feature (PEP 197) is not supported on Windows
183                     PEGASUS_DISABLE_PROV_USERCTXT=1
184 h.sterling     1.24 
185 h.sterling     1.33 # Windows does not support local domain sockets or the equivalent Bug 2147
186                     PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
187 h.sterling     1.30 
188 mark.hamzy     1.42 PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
189 mateus.baur    1.44 
190                     
191                     ##################################
192                     ##
193                     ## Pegasus WMIMapper
194 kumpf          1.53 ##
195 mateus.baur    1.44 ##################################
196                     
197                     ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
198                       FLAGS += -DPEGASUS_WMIMAPPER
199 kumpf          1.53 else
200 mateus.baur    1.44   ifdef PEGASUS_WMIMAPPER
201                         FLAGS += -DPEGASUS_WMIMAPPER
202 kumpf          1.53   endif
203 mateus.baur    1.44 endif
204                     
205 mateus.baur    1.46 ##################################
206 kumpf          1.53 ##
207 mateus.baur    1.46 ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
208                     ##
209                     ##################################
210 mateus.baur    1.44 ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
211 mateus.baur    1.46   ifeq ($(CL_MAJOR_VERSION), 12)
212                         PEGASUS_WMIMAPPER_NEED_MSSDK=true
213                       endif
214 kumpf          1.53   ifeq ($(CL_MAJOR_VERSION), 13)
215 mateus.baur    1.46     PEGASUS_WMIMAPPER_NEED_MSSDK=true
216                       endif
217                       ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
218                         ifndef MSSdk
219                           $(error MSSdk environment variable undefined)
220                         endif
221 mateus.baur    1.44   endif
222                     endif
223                     
224                     
225 mateus.baur    1.46 
226                     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2