(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.53.2.1 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.53.2.2 VC_CL_VERSIONS := 14 15
 49                        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.53.2.2 # CL_MAJOR_VERSION 14 or 15 (i.e., VC 8 or VC 9)
 89 david.dillard 1.27     #
 90 s.kodali      1.53.2.2 ifeq ($(CL_MAJOR_VERSION), $(VC_CL_VERSION))
 91 s.kodali      1.53.2.3     CXX_VERSION_FLAGS := -EHsc
 92 david.dillard 1.35         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