(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 karl          1.57.6.1 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 karl          1.57.6.1 # 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 karl          1.57.6.1     # 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