42 # /Gy Func level link (in /O1, allows for link-time func ordering) |
42 # /Gy Func level link (in /O1, allows for link-time func ordering) |
43 # /Gs Inserts stack probes (in /O1) |
43 # /Gs Inserts stack probes (in /O1) |
44 # /GS Inserts security stack checks in some functions (VS2005 default) |
44 # /GS Inserts security stack checks in some functions (VS2005 default) |
45 # /Oi Use intrinsics (in /O2) |
45 # /Oi Use intrinsics (in /O2) |
46 # /Od Disable all optimizations |
46 # /Od Disable all optimizations |
|
47 # /MP Use multiple cores for compilation |
47 # |
48 # |
48 # NOTE: Normally following any of the above with a '-' will turn off that flag |
49 # NOTE: Normally following any of the above with a '-' will turn off that flag |
49 # |
50 # |
50 # 6655385: For VS2003/2005 we now specify /Oy- (disable frame pointer |
51 # 6655385: For VS2003/2005 we now specify /Oy- (disable frame pointer |
51 # omission.) This has little to no effect on performance while vastly |
52 # omission.) This has little to no effect on performance while vastly |
206 PRODUCT_OPT_OPTION = /O2 /Oy- |
207 PRODUCT_OPT_OPTION = /O2 /Oy- |
207 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
208 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
208 DEBUG_OPT_OPTION = /Od |
209 DEBUG_OPT_OPTION = /Od |
209 GX_OPTION = /EHsc |
210 GX_OPTION = /EHsc |
210 LD_FLAGS = /manifest $(LD_FLAGS) |
211 LD_FLAGS = /manifest $(LD_FLAGS) |
|
212 MP_FLAG = /MP |
211 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
213 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
212 # as resources inside build artifacts. |
214 # as resources inside build artifacts. |
213 !if "x$(MT)" == "x" |
215 !if "x$(MT)" == "x" |
214 MT=mt.exe |
216 MT=mt.exe |
215 !endif |
217 !endif |
220 PRODUCT_OPT_OPTION = /O2 /Oy- |
222 PRODUCT_OPT_OPTION = /O2 /Oy- |
221 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
223 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
222 DEBUG_OPT_OPTION = /Od |
224 DEBUG_OPT_OPTION = /Od |
223 GX_OPTION = /EHsc |
225 GX_OPTION = /EHsc |
224 LD_FLAGS = /manifest $(LD_FLAGS) |
226 LD_FLAGS = /manifest $(LD_FLAGS) |
|
227 MP_FLAG = /MP |
225 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
228 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
226 # as resources inside build artifacts. |
229 # as resources inside build artifacts. |
227 !if "x$(MT)" == "x" |
230 !if "x$(MT)" == "x" |
228 MT=mt.exe |
231 MT=mt.exe |
229 !endif |
232 !endif |
236 PRODUCT_OPT_OPTION = /O2 /Oy- |
239 PRODUCT_OPT_OPTION = /O2 /Oy- |
237 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
240 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
238 DEBUG_OPT_OPTION = /Od |
241 DEBUG_OPT_OPTION = /Od |
239 GX_OPTION = /EHsc |
242 GX_OPTION = /EHsc |
240 LD_FLAGS = /manifest $(LD_FLAGS) |
243 LD_FLAGS = /manifest $(LD_FLAGS) |
|
244 MP_FLAG = /MP |
241 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
245 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
242 # as resources inside build artifacts. |
246 # as resources inside build artifacts. |
243 !if "x$(MT)" == "x" |
247 !if "x$(MT)" == "x" |
244 MT=mt.exe |
248 MT=mt.exe |
245 !endif |
249 !endif |
247 !endif |
251 !endif |
248 |
252 |
249 !if "$(BUILDARCH)" == "i486" |
253 !if "$(BUILDARCH)" == "i486" |
250 LD_FLAGS = $(SAFESEH_FLAG) $(LD_FLAGS) |
254 LD_FLAGS = $(SAFESEH_FLAG) $(LD_FLAGS) |
251 !endif |
255 !endif |
|
256 |
|
257 CXX_FLAGS = $(CXX_FLAGS) $(MP_FLAG) |
252 |
258 |
253 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off |
259 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off |
254 !ifdef NO_OPTIMIZATIONS |
260 !ifdef NO_OPTIMIZATIONS |
255 PRODUCT_OPT_OPTION = $(DEBUG_OPT_OPTION) |
261 PRODUCT_OPT_OPTION = $(DEBUG_OPT_OPTION) |
256 FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION) |
262 FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION) |