1 | #
|
---|
2 | # Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
|
---|
3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
---|
4 | #
|
---|
5 | # This code is free software; you can redistribute it and/or modify it
|
---|
6 | # under the terms of the GNU General Public License version 2 only, as
|
---|
7 | # published by the Free Software Foundation. Oracle designates this
|
---|
8 | # particular file as subject to the "Classpath" exception as provided
|
---|
9 | # by Oracle in the LICENSE file that accompanied this code.
|
---|
10 | #
|
---|
11 | # This code is distributed in the hope that it will be useful, but WITHOUT
|
---|
12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
---|
13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
---|
14 | # version 2 for more details (a copy is included in the LICENSE file that
|
---|
15 | # accompanied this code).
|
---|
16 | #
|
---|
17 | # You should have received a copy of the GNU General Public License version
|
---|
18 | # 2 along with this work; if not, write to the Free Software Foundation,
|
---|
19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
---|
20 | #
|
---|
21 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
---|
22 | # or visit www.oracle.com if you need additional information or have any
|
---|
23 | # questions.
|
---|
24 | #
|
---|
25 |
|
---|
26 | #
|
---|
27 | # Definitions for Windows.
|
---|
28 | #
|
---|
29 |
|
---|
30 | # Default for COMPILER_WARNINGS_FATAL on Windows (C++ compiler warnings)
|
---|
31 | # Level: Default is 3, 0 means none, 4 is the most but may be unreliable
|
---|
32 | # Some makefiles may have set this to 0 to turn off warnings completely,
|
---|
33 | # which also effectively creates a COMPILER_WARNINGS_FATAL=false situation.
|
---|
34 | # Program.gmk may turn this down to 2 (building .exe's).
|
---|
35 | # Windows 64bit platforms are less likely to be warning free.
|
---|
36 | # Historically, Windows 32bit builds should be mostly warning free.
|
---|
37 | ifndef COMPILER_WARNING_LEVEL
|
---|
38 | COMPILER_WARNING_LEVEL=3
|
---|
39 | endif
|
---|
40 | ifndef COMPILER_WARNINGS_FATAL
|
---|
41 | COMPILER_WARNINGS_FATAL=false
|
---|
42 | endif
|
---|
43 |
|
---|
44 | # Windows should use parallel compilation for best build times
|
---|
45 | ifndef COMPILE_APPROACH
|
---|
46 | COMPILE_APPROACH = normal
|
---|
47 | endif
|
---|
48 |
|
---|
49 | # Indication that we are doing an incremental build.
|
---|
50 | # This may trigger the creation of make depend files.
|
---|
51 | # (This may not be working on windows yet, always force to false.)
|
---|
52 | override INCREMENTAL_BUILD = false
|
---|
53 |
|
---|
54 | # WARNING: This is extremely touch stuff, between CYGWIN vs. MKS and all
|
---|
55 | # variations of MKS and CYGWIN releases, and 32bit vs 64bit,
|
---|
56 | # this file can give you nightmares.
|
---|
57 | #
|
---|
58 | # Notes:
|
---|
59 | # Keep all paths in the windows "mixed" style except CYGWIN UNXIXCOMMAND_PATH.
|
---|
60 | # Use of PrefixPath is critical, some variables must end with / (see NOTE).
|
---|
61 | # Use of quotes is critical due to possible spaces in paths coming from
|
---|
62 | # the environment variables, be careful.
|
---|
63 | # First convert \ to / with subst, keep it quoted due to blanks, then
|
---|
64 | # use cygpath -s or dosname -s to get the short non-blank name.
|
---|
65 | # If the MKS is old and doesn't have a dosname -s, you will be forced
|
---|
66 | # to set ALT variables with the short non-space directory names.
|
---|
67 | # If dosname doesn't appear to work, we won't use it.
|
---|
68 | # The dosname utility also wants to accept stdin if it is not supplied
|
---|
69 | # any path on the command line, this is really dangerous when using
|
---|
70 | # make variables that can easily become empty, so I use:
|
---|
71 | # echo $1 | dosname -s instead of dosname -s $1
|
---|
72 | # to prevent dosname from hanging up the make process when $1 is empty.
|
---|
73 | # The cygpath utility does not have this problem.
|
---|
74 | # The ALT values should never really have spaces or use \.
|
---|
75 | # Suspect these environment variables to have spaces and/or \ characters:
|
---|
76 | # SYSTEMROOT, SystemRoot, WINDIR, windir, PROGRAMFILES, ProgramFiles,
|
---|
77 | # DXSDK_DIR, MSTOOLS, Mstools, MSSDK, MSSdk, VC71COMNTOOLS,
|
---|
78 | # MSVCDIR, MSVCDir.
|
---|
79 | # So use $(subst \,/,) on them first adding quotes and placing them in
|
---|
80 | # their own variable assigned with :=, then use FullPath.
|
---|
81 | #
|
---|
82 |
|
---|
83 | # Use FullPath to get C:/ style non-spaces path. Never ends with a /!
|
---|
84 | ifdef USING_CYGWIN
|
---|
85 | # We assume cygpath is available in the search path
|
---|
86 | # NOTE: Use of 'pwd' with CYGWIN will not get you a mixed style path!
|
---|
87 | CYGPATH_CMD=cygpath -a -s -m
|
---|
88 | define FullPath
|
---|
89 | $(shell $(CYGPATH_CMD) $1 2> $(DEV_NULL))
|
---|
90 | endef
|
---|
91 | define OptFullPath
|
---|
92 | $(shell if [ "$1" != "" -a -d "$1" ]; then $(CYGPATH_CMD) "$1"; else echo "$1"; fi)
|
---|
93 | endef
|
---|
94 | else
|
---|
95 | # Temporary until we upgrade to MKS 8.7, MKS pwd returns mixed mode path
|
---|
96 | define FullPath
|
---|
97 | $(shell cd $1 2> $(DEV_NULL) && pwd)
|
---|
98 | endef
|
---|
99 | define OptFullPath
|
---|
100 | $(shell if [ "$1" != "" -a -d "$1" ]; then (cd $1 && pwd); else echo "$1"; fi)
|
---|
101 | endef
|
---|
102 | endif
|
---|
103 |
|
---|
104 | # System drive
|
---|
105 | ifdef SYSTEMDRIVE
|
---|
106 | _system_drive =$(SYSTEMDRIVE)
|
---|
107 | else
|
---|
108 | ifdef SystemDrive
|
---|
109 | _system_drive =$(SystemDrive)
|
---|
110 | endif
|
---|
111 | endif
|
---|
112 | _system_drive:=$(call CheckValue,_system_drive,C:)
|
---|
113 |
|
---|
114 | # UNIXCOMMAND_PATH: path to where the most common Unix commands are.
|
---|
115 | # NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
---|
116 | ifdef ALT_UNIXCOMMAND_PATH
|
---|
117 | xALT_UNIXCOMMAND_PATH :="$(subst \,/,$(ALT_UNIXCOMMAND_PATH))"
|
---|
118 | fxALT_UNIXCOMMAND_PATH :=$(call FullPath,$(xALT_UNIXCOMMAND_PATH))
|
---|
119 | UNIXCOMMAND_PATH :=$(call PrefixPath,$(fxALT_UNIXCOMMAND_PATH))
|
---|
120 | else
|
---|
121 | ifdef USING_CYGWIN
|
---|
122 | UNIXCOMMAND_PATH :=$(call PrefixPath,/usr/bin)
|
---|
123 | else
|
---|
124 | ifdef ROOTDIR
|
---|
125 | xROOTDIR :="$(subst \,/,$(ROOTDIR))"
|
---|
126 | _rootdir :=$(call FullPath,$(xROOTDIR))
|
---|
127 | else
|
---|
128 | xROOTDIR :="$(_system_drive)/mksnt"
|
---|
129 | _rootdir :=$(call FullPath,$(xROOTDIR))
|
---|
130 | endif
|
---|
131 | ifneq ($(_rootdir),)
|
---|
132 | UNIXCOMMAND_PATH :=$(call PrefixPath,$(_rootdir)/mksnt)
|
---|
133 | endif
|
---|
134 | endif
|
---|
135 | endif
|
---|
136 | UNIXCOMMAND_PATH:=$(call AltCheckSpaces,UNIXCOMMAND_PATH)
|
---|
137 |
|
---|
138 | # Get version of MKS or CYGWIN
|
---|
139 | ifdef USING_CYGWIN
|
---|
140 | _CYGWIN_VER :=$(shell $(UNAME))
|
---|
141 | CYGWIN_VER :=$(call GetVersion,$(_CYGWIN_VER))
|
---|
142 | else # MKS
|
---|
143 | _MKS_VER :=$(shell $(MKSINFO) 2>&1 | $(GREP) Release | $(TAIL) -1 | $(SED) -e 's@.*\(Release.*\)@\1@')
|
---|
144 | MKS_VER :=$(call GetVersion,$(_MKS_VER))
|
---|
145 | # At this point, we can re-define FullPath to use DOSNAME_CMD
|
---|
146 | CHECK_MKS87:=$(call CheckVersions,$(MKS_VER),8.7)
|
---|
147 | TRY_DOSNAME:=false
|
---|
148 | ifeq ($(CHECK_MKS87),same)
|
---|
149 | TRY_DOSNAME:=true
|
---|
150 | endif
|
---|
151 | # Newer should be ok
|
---|
152 | ifeq ($(CHECK_MKS87),newer)
|
---|
153 | TRY_DOSNAME:=true
|
---|
154 | endif
|
---|
155 | ifeq ($(TRY_DOSNAME),true)
|
---|
156 | ifeq ($(shell $(UNIXCOMMAND_PATH)dosname -s $(_system_drive)/ 2> $(DEV_NULL)),$(_system_drive)/)
|
---|
157 | _DOSNAME=$(UNIXCOMMAND_PATH)dosname
|
---|
158 | DOSNAME_CMD:=$(_DOSNAME) -s
|
---|
159 | define FullPath
|
---|
160 | $(subst //,/,$(shell echo $1 | $(DOSNAME_CMD) 2> $(DEV_NULL)))
|
---|
161 | endef
|
---|
162 | endif # test dosname -s
|
---|
163 | endif # TRY_DOSNAME
|
---|
164 | endif # MKS
|
---|
165 |
|
---|
166 | # We try to get references to what we need via the default component
|
---|
167 | # environment variables, or what was used historically.
|
---|
168 |
|
---|
169 | # Process Windows values into FullPath values, these paths may have \ chars
|
---|
170 |
|
---|
171 | # System root
|
---|
172 | ifdef SYSTEMROOT
|
---|
173 | xSYSTEMROOT :="$(subst \,/,$(SYSTEMROOT))"
|
---|
174 | _system_root :=$(call FullPath,$(xSYSTEMROOT))
|
---|
175 | else
|
---|
176 | ifdef SystemRoot
|
---|
177 | xSYSTEMROOT :="$(subst \,/,$(SystemRoot))"
|
---|
178 | _system_root :=$(call FullPath,$(xSYSTEMROOT))
|
---|
179 | else
|
---|
180 | ifdef WINDIR
|
---|
181 | xWINDIR :="$(subst \,/,$(WINDIR))"
|
---|
182 | _system_root :=$(call FullPath,$(xWINDIR))
|
---|
183 | else
|
---|
184 | ifdef windir
|
---|
185 | xWINDIR :="$(subst \,/,$(windir))"
|
---|
186 | _system_root :=$(call FullPath,$(xWINDIR))
|
---|
187 | endif
|
---|
188 | endif
|
---|
189 | endif
|
---|
190 | endif
|
---|
191 | _system_root:=$(call CheckValue,_system_root,$(_system_drive)/WINNT)
|
---|
192 |
|
---|
193 | # Program Files directory
|
---|
194 | ifdef PROGRAMFILES
|
---|
195 | xPROGRAMFILES :="$(subst \,/,$(PROGRAMFILES))"
|
---|
196 | else
|
---|
197 | ifeq ($(ARCH_DATA_MODEL), 32)
|
---|
198 | xPROGRAMFILES :="$(_system_drive)/Program Files"
|
---|
199 | else
|
---|
200 | xPROGRAMFILES :="$(_system_drive)/Program Files (x86)"
|
---|
201 | endif
|
---|
202 | endif
|
---|
203 | ifeq ($(ARCH_DATA_MODEL), 32)
|
---|
204 | _program_files :=$(call FullPath,$(xPROGRAMFILES))
|
---|
205 | else
|
---|
206 | ifdef PROGRAMW6432
|
---|
207 | xPROGRAMW6432 :="$(subst \,/,$(PROGRAMW6432))"
|
---|
208 | else
|
---|
209 | xPROGRAMW6432 :="$(_system_drive)/Program Files"
|
---|
210 | endif
|
---|
211 | _program_files :=$(call FullPath,$(xPROGRAMW6432))
|
---|
212 | _program_files32 :=$(call FullPath,$(xPROGRAMFILES))
|
---|
213 | ifneq ($(word 1,$(_program_files32)),$(_program_files32))
|
---|
214 | _program_files32:=
|
---|
215 | endif
|
---|
216 | endif
|
---|
217 | ifneq ($(word 1,$(_program_files)),$(_program_files))
|
---|
218 | _program_files:=
|
---|
219 | endif
|
---|
220 |
|
---|
221 | # DirectX SDK
|
---|
222 | ifdef ALT_DXSDK_DRIVE
|
---|
223 | _dx_sdk_dir =$(ALT_DXSDK_DRIVE):/DXSDK
|
---|
224 | else
|
---|
225 | ifdef DXSDK_DIR
|
---|
226 | xDXSDK_DIR :="$(subst \,/,$(DXSDK_DIR))"
|
---|
227 | else
|
---|
228 | xDXSDK_DIR :="$(_system_drive)/DXSDK"
|
---|
229 | endif
|
---|
230 | _dx_sdk_dir :=$(call FullPath,$(xDXSDK_DIR))
|
---|
231 | endif
|
---|
232 |
|
---|
233 | # Compilers, SDK, and Visual Studio (MSDEV) [32bit is different from 64bit]
|
---|
234 | ifeq ($(ARCH_DATA_MODEL), 32)
|
---|
235 | # Try looking in MSVCDIR or MSVCDir area first (set by vcvars32.bat)
|
---|
236 | ifdef MSVCDIR
|
---|
237 | xMSVCDIR :="$(subst \,/,$(MSVCDIR))"
|
---|
238 | _msvc_dir :=$(call FullPath,$(xMSVCDIR))
|
---|
239 | else
|
---|
240 | ifdef MSVCDir
|
---|
241 | xMSVCDIR :="$(subst \,/,$(MSVCDir))"
|
---|
242 | _msvc_dir :=$(call FullPath,$(xMSVCDIR))
|
---|
243 | else
|
---|
244 | ifneq ($(_program_files),)
|
---|
245 | xMSVCDIR :="$(_program_files)/Microsoft Visual Studio .NET 2003/Vc7"
|
---|
246 | _msvc_dir :=$(call FullPath,$(xMSVCDIR))
|
---|
247 | endif
|
---|
248 | endif
|
---|
249 | endif
|
---|
250 | ifneq ($(subst MSDev98,OLDOLDOLD,$(_msvc_dir)),$(_msvc_dir))
|
---|
251 | _msvc_dir :=
|
---|
252 | endif
|
---|
253 | # If we still don't have it, look for VS71COMNTOOLS, setup by installer?
|
---|
254 | ifeq ($(_msvc_dir),)
|
---|
255 | ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
|
---|
256 | xVS71COMNTOOLS :="$(subst \,/,$(VS71COMNTOOLS))"
|
---|
257 | _vs71tools :=$(call FullPath,$(xVS71COMNTOOLS))
|
---|
258 | endif
|
---|
259 | ifneq ($(_vs71tools),)
|
---|
260 | _msvc_dir :=$(_vs71tools)/../../Vc7
|
---|
261 | endif
|
---|
262 | endif
|
---|
263 | ifneq ($(_msvc_dir),)
|
---|
264 | _compiler_bin :=$(_msvc_dir)/Bin
|
---|
265 | _redist_sdk :=$(_msvc_dir)/../SDK/v1.1/Bin
|
---|
266 | _ms_sdk :=$(_msvc_dir)/PlatformSDK
|
---|
267 | endif
|
---|
268 | endif
|
---|
269 |
|
---|
270 | # The Microsoft Platform SDK installed by itself
|
---|
271 | ifneq ($(_program_files),)
|
---|
272 | xPSDK :="$(_program_files)/Microsoft Platform SDK"
|
---|
273 | _psdk :=$(call FullPath,$(xPSDK))
|
---|
274 | ifeq ($(_psdk),)
|
---|
275 | xPSDK :="$(_program_files)/Microsoft SDK"
|
---|
276 | _psdk :=$(call FullPath,$(xMSSDK))
|
---|
277 | endif
|
---|
278 | endif
|
---|
279 |
|
---|
280 | # If no SDK found yet, look in other places
|
---|
281 | ifeq ($(_ms_sdk),)
|
---|
282 | ifdef MSSDK
|
---|
283 | xMSSDK :="$(subst \,/,$(MSSDK))"
|
---|
284 | _ms_sdk :=$(call FullPath,$(xMSSDK))
|
---|
285 | else
|
---|
286 | ifdef MSSdk
|
---|
287 | xMSSDK :="$(subst \,/,$(MSSdk))"
|
---|
288 | _ms_sdk :=$(call FullPath,$(xMSSDK))
|
---|
289 | else
|
---|
290 | _ms_sdk :=$(_psdk)
|
---|
291 | endif
|
---|
292 | endif
|
---|
293 | endif
|
---|
294 |
|
---|
295 | # Compilers for 64bit are from SDK
|
---|
296 | ifeq ($(ARCH_DATA_MODEL), 64)
|
---|
297 | ifneq ($(_ms_sdk),)
|
---|
298 | ifeq ($(ARCH), ia64)
|
---|
299 | _compiler_bin :=$(_ms_sdk)/Bin/Win64
|
---|
300 | endif
|
---|
301 | ifeq ($(ARCH), amd64)
|
---|
302 | _compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH)
|
---|
303 | _redist_sdk :=$(_ms_sdk)/redist/win64/AMD64
|
---|
304 | endif
|
---|
305 | endif
|
---|
306 | endif
|
---|
307 |
|
---|
308 | # Location on system where jdk installs might be
|
---|
309 | ifneq ($(_program_files),)
|
---|
310 | USRJDKINSTANCES_PATH =$(_program_files)/Java
|
---|
311 | else
|
---|
312 | USRJDKINSTANCES_PATH =$(_system_drive)/
|
---|
313 | endif
|
---|
314 |
|
---|
315 | # SLASH_JAVA: location of all network accessable files
|
---|
316 | ifdef ALT_SLASH_JAVA
|
---|
317 | xALT_SLASH_JAVA :="$(subst \,/,$(ALT_SLASH_JAVA))"
|
---|
318 | SLASH_JAVA :=$(call FullPath,$(xALT_SLASH_JAVA))
|
---|
319 | else
|
---|
320 | ifdef ALT_JDK_JAVA_DRIVE
|
---|
321 | SLASH_JAVA =$(JDK_JAVA_DRIVE)
|
---|
322 | else
|
---|
323 | SLASH_JAVA =J:
|
---|
324 | endif
|
---|
325 | endif
|
---|
326 | SLASH_JAVA:=$(call AltCheckSpaces,SLASH_JAVA)
|
---|
327 | SLASH_JAVA:=$(call AltCheckValue,SLASH_JAVA)
|
---|
328 |
|
---|
329 | # JDK_DEVTOOLS_DIR: common path for all the java devtools
|
---|
330 | ifdef ALT_JDK_DEVTOOLS_DIR
|
---|
331 | xALT_JDK_DEVTOOLS_DIR :="$(subst \,/,$(ALT_JDK_DEVTOOLS_DIR))"
|
---|
332 | JDK_DEVTOOLS_DIR :=$(call FullPath,$(xALT_JDK_DEVTOOLS_DIR))
|
---|
333 | else
|
---|
334 | JDK_DEVTOOLS_DIR =$(SLASH_JAVA)/devtools
|
---|
335 | endif
|
---|
336 | JDK_DEVTOOLS_DIR:=$(call AltCheckSpaces,JDK_DEVTOOLS_DIR)
|
---|
337 | JDK_DEVTOOLS_DIR:=$(call AltCheckValue,JDK_DEVTOOLS_DIR)
|
---|
338 |
|
---|
339 | # COMPILER_PATH: path to where the compiler and tools are installed.
|
---|
340 | # NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
---|
341 | ifdef ALT_COMPILER_PATH
|
---|
342 | xALT_COMPILER_PATH :="$(subst \,/,$(ALT_COMPILER_PATH))"
|
---|
343 | fxALT_COMPILER_PATH :=$(call FullPath,$(xALT_COMPILER_PATH))
|
---|
344 | COMPILER_PATH :=$(call PrefixPath,$(fxALT_COMPILER_PATH))
|
---|
345 | else
|
---|
346 | COMPILER_PATH :=$(call PrefixPath,$(_compiler_bin))
|
---|
347 | endif
|
---|
348 | COMPILER_PATH :=$(call AltCheckSpaces,COMPILER_PATH)
|
---|
349 |
|
---|
350 | # MSDEVTOOLS_PATH: path to where the additional MS Compiler tools are.
|
---|
351 | # NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
---|
352 | ifdef ALT_MSDEVTOOLS_PATH
|
---|
353 | xALT_MSDEVTOOLS_PATH :="$(subst \,/,$(ALT_MSDEVTOOLS_PATH))"
|
---|
354 | fxALT_MSDEVTOOLS_PATH :=$(call FullPath,$(xALT_MSDEVTOOLS_PATH))
|
---|
355 | MSDEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_MSDEVTOOLS_PATH))
|
---|
356 | else
|
---|
357 | ifeq ($(ARCH_DATA_MODEL), 64)
|
---|
358 | ifdef MSTOOLS
|
---|
359 | xMSTOOLS :="$(subst \,/,$(MSTOOLS))"
|
---|
360 | _ms_tools :=$(call FullPath,$(xMSTOOLS))
|
---|
361 | else
|
---|
362 | ifdef Mstools
|
---|
363 | xMSTOOLS :="$(subst \,/,$(Mstools))"
|
---|
364 | _ms_tools :=$(call FullPath,$(xMSTOOLS))
|
---|
365 | else
|
---|
366 | _ms_tools :=
|
---|
367 | endif
|
---|
368 | endif
|
---|
369 | ifneq ($(_ms_tools),)
|
---|
370 | _ms_tools_bin :=$(_ms_tools)/Bin
|
---|
371 | else
|
---|
372 | # Assumes compiler bin is .../Bin/win64/x86/AMD64, rc.exe is 3 levels up
|
---|
373 | _ms_tools_bin :=$(_compiler_bin)/../../..
|
---|
374 | endif
|
---|
375 | else
|
---|
376 | _ms_tools_bin :=$(_compiler_bin)
|
---|
377 | endif
|
---|
378 | MSDEVTOOLS_PATH :=$(call PrefixPath,$(_ms_tools_bin))
|
---|
379 | endif
|
---|
380 | MSDEVTOOLS_PATH:=$(call AltCheckSpaces,MSDEVTOOLS_PATH)
|
---|
381 |
|
---|
382 | # DEVTOOLS_PATH: for other tools required for building (such as zip, etc.)
|
---|
383 | # NOTE: Must end with / so that it could be empty, allowing PATH usage.
|
---|
384 | ifdef ALT_DEVTOOLS_PATH
|
---|
385 | xALT_DEVTOOLS_PATH :="$(subst \,/,$(ALT_DEVTOOLS_PATH))"
|
---|
386 | fxALT_DEVTOOLS_PATH :=$(call FullPath,$(xALT_DEVTOOLS_PATH))
|
---|
387 | DEVTOOLS_PATH :=$(call PrefixPath,$(fxALT_DEVTOOLS_PATH))
|
---|
388 | else
|
---|
389 | ifdef USING_CYGWIN
|
---|
390 | DEVTOOLS_PATH :=$(UNIXCOMMAND_PATH)
|
---|
391 | else
|
---|
392 | xDEVTOOLS_PATH :="$(_system_drive)/utils"
|
---|
393 | fxDEVTOOLS_PATH :=$(call FullPath,$(xDEVTOOLS_PATH))
|
---|
394 | DEVTOOLS_PATH :=$(call PrefixPath,$(fxDEVTOOLS_PATH))
|
---|
395 | endif
|
---|
396 | endif
|
---|
397 | DEVTOOLS_PATH:=$(call AltCheckSpaces,DEVTOOLS_PATH)
|
---|
398 |
|
---|
399 | # _BOOTDIR1: First choice for a Bootstrap JDK, previous released JDK.
|
---|
400 | # _BOOTDIR2: Second choice
|
---|
401 | ifndef ALT_BOOTDIR
|
---|
402 | _BOOTDIR1 =$(_system_drive)/jdk$(PREVIOUS_JDK_VERSION)
|
---|
403 | _BOOTDIR2 =$(USRJDKINSTANCES_PATH)/jdk$(PREVIOUS_JDK_VERSION)
|
---|
404 | endif
|
---|
405 |
|
---|
406 | # See if SDK area has a msvcrt.dll file, directory may exist w/o msvcr* files
|
---|
407 | _REDIST_SDK_EXISTS := $(shell \
|
---|
408 | if [ -f "$(_redist_sdk)/msvcrt.dll" ]; then \
|
---|
409 | echo "true"; \
|
---|
410 | else \
|
---|
411 | echo "false"; \
|
---|
412 | fi)
|
---|
413 | _REDIST71_SDK_EXISTS := $(shell \
|
---|
414 | if [ -f "$(_redist_sdk)/msvcr71.dll" ]; then \
|
---|
415 | echo "true"; \
|
---|
416 | else \
|
---|
417 | echo "false"; \
|
---|
418 | fi)
|
---|
419 |
|
---|
420 | # 32 bit needs 2 runtimes
|
---|
421 | ifeq ($(ARCH_DATA_MODEL), 32)
|
---|
422 |
|
---|
423 | # MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed
|
---|
424 | ifdef ALT_MSVCRT_DLL_PATH
|
---|
425 | xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))"
|
---|
426 | MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH))
|
---|
427 | else
|
---|
428 | ifeq ($(_REDIST_SDK_EXISTS), true)
|
---|
429 | xREDIST_DIR :=$(_redist_sdk)
|
---|
430 | else
|
---|
431 | xREDIST_DIR :=$(_system_root)/system32
|
---|
432 | endif
|
---|
433 | MSVCRT_DLL_PATH :=$(call FullPath,$(xREDIST_DIR))
|
---|
434 | endif
|
---|
435 | MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH)
|
---|
436 | MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH)
|
---|
437 |
|
---|
438 | # MSVCR71_DLL_PATH: location of msvcr71.dll that will be re-distributed
|
---|
439 | ifdef ALT_MSVCR71_DLL_PATH
|
---|
440 | xALT_MSVCR71_DLL_PATH :="$(subst \,/,$(ALT_MSVCR71_DLL_PATH))"
|
---|
441 | MSVCR71_DLL_PATH :=$(call FullPath,$(xALT_MSVCR71_DLL_PATH))
|
---|
442 | else
|
---|
443 | ifeq ($(_REDIST71_SDK_EXISTS), true)
|
---|
444 | xREDIST71_DIR :=$(_redist_sdk)
|
---|
445 | else
|
---|
446 | xREDIST71_DIR :=$(_system_root)/system32
|
---|
447 | endif
|
---|
448 | MSVCR71_DLL_PATH :=$(call FullPath,$(xREDIST71_DIR))
|
---|
449 | endif
|
---|
450 | MSVCR71_DLL_PATH :=$(call AltCheckSpaces,MSVCR71_DLL_PATH)
|
---|
451 | MSVCR71_DLL_PATH:=$(call AltCheckValue,MSVCR71_DLL_PATH)
|
---|
452 |
|
---|
453 | else
|
---|
454 |
|
---|
455 | # MSVCRT_DLL_PATH: location of msvcrt.dll that will be re-distributed
|
---|
456 | ifdef ALT_MSVCRT_DLL_PATH
|
---|
457 | xALT_MSVCRT_DLL_PATH :="$(subst \,/,$(ALT_MSVCRT_DLL_PATH))"
|
---|
458 | MSVCRT_DLL_PATH :=$(call FullPath,$(xALT_MSVCRT_DLL_PATH))
|
---|
459 | else
|
---|
460 | ifeq ($(_REDIST_SDK_EXISTS), true)
|
---|
461 | xREDIST_DIR :=$(_redist_sdk)
|
---|
462 | else
|
---|
463 | xREDIST_DIR :=$(_system_root)/SysWOW64
|
---|
464 | endif
|
---|
465 | MSVCRT_DLL_PATH :=$(call FullPath,$(xREDIST_DIR))
|
---|
466 | endif
|
---|
467 | MSVCRT_DLL_PATH:=$(call AltCheckSpaces,MSVCRT_DLL_PATH)
|
---|
468 | MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH)
|
---|
469 |
|
---|
470 | endif
|
---|
471 |
|
---|
472 | # DXSDK_PATH: path to Microsoft DirectX SDK Include and Lib
|
---|
473 | ifdef ALT_DXSDK_PATH
|
---|
474 | xALT_DXSDK_PATH :="$(subst \,/,$(ALT_DXSDK_PATH))"
|
---|
475 | DXSDK_PATH :=$(call FullPath,$(xALT_DXSDK_PATH))
|
---|
476 | else
|
---|
477 | _DXSDK_PATH1 :=$(_dx_sdk_dir)
|
---|
478 | _DXSDK_PATH2 :=$(JDK_DEVTOOLS_DIR)/windows/dxsdk
|
---|
479 | DXSDK_PATH :=$(call DirExists,$(_DXSDK_PATH1),$(_DXSDK_PATH2),$(_dx_sdk_dir))
|
---|
480 | endif
|
---|
481 | DXSDK_PATH :=$(call AltCheckSpaces,DXSDK_PATH)
|
---|
482 | DXSDK_PATH:=$(call AltCheckValue,DXSDK_PATH)
|
---|
483 |
|
---|
484 | # DXSDK_INCLUDE_PATH: path to Microsoft DirectX SDK Include
|
---|
485 | ifdef ALT_DXSDK_INCLUDE_PATH
|
---|
486 | xALT_DXSDK_INCLUDE_PATH :="$(subst \,/,$(ALT_DXSDK_INCLUDE_PATH))"
|
---|
487 | DXSDK_INCLUDE_PATH :=$(call FullPath,$(xALT_DXSDK_INCLUDE_PATH))
|
---|
488 | else
|
---|
489 | DXSDK_INCLUDE_PATH =$(subst //,/,$(DXSDK_PATH)/Include)
|
---|
490 | endif
|
---|
491 |
|
---|
492 | # DXSDK_LIB_PATH: path to Microsoft DirectX SDK Lib
|
---|
493 | ifdef ALT_DXSDK_LIB_PATH
|
---|
494 | xALT_DXSDK_LIB_PATH :="$(subst \,/,$(ALT_DXSDK_LIB_PATH))"
|
---|
495 | DXSDK_LIB_PATH :=$(call FullPath,$(xALT_DXSDK_LIB_PATH))
|
---|
496 | else
|
---|
497 | ifeq ($(ARCH_DATA_MODEL), 64)
|
---|
498 | # 64bit libs are located in "Lib/x64" subdir
|
---|
499 | DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib/x64)
|
---|
500 | else
|
---|
501 | DXSDK_LIB_PATH =$(subst //,/,$(DXSDK_PATH)/Lib)
|
---|
502 | endif
|
---|
503 | endif
|
---|
504 |
|
---|
505 | # Windows 32bit only
|
---|
506 | ifeq ($(ARCH_DATA_MODEL), 32)
|
---|
507 |
|
---|
508 | # UNICOWS_DLL_PATH: path to Microsoft Layer for Unicode DLL library
|
---|
509 | ifdef ALT_UNICOWS_DLL_PATH
|
---|
510 | xALT_UNICOWS_DLL_PATH :="$(subst \,/,$(ALT_UNICOWS_DLL_PATH))"
|
---|
511 | UNICOWS_DLL_PATH :=$(call FullPath,$(xALT_UNICOWS_DLL_PATH))
|
---|
512 | else
|
---|
513 | _UNICOWS_DLL_PATH1 :=$(_system_drive)/MSLU
|
---|
514 | _UNICOWS_DLL_PATH2 :=$(JDK_DEVTOOLS_DIR)/windows/MSLU
|
---|
515 | _UNICOWS_DLL_PATH3 :=$(JDK_IMPORT_PATH)/jre/bin
|
---|
516 | UNICOWS_DLL_PATH :=$(call DirExists,$(_UNICOWS_DLL_PATH1),$(_UNICOWS_DLL_PATH2),$(_UNICOWS_DLL_PATH3))
|
---|
517 | endif
|
---|
518 | UNICOWS_DLL_PATH:=$(call AltCheckSpaces,UNICOWS_DLL_PATH)
|
---|
519 | UNICOWS_DLL_PATH:=$(call AltCheckValue,UNICOWS_DLL_PATH)
|
---|
520 |
|
---|
521 | # UNICOWS_LIB_PATH: path to Microsoft Layer for Unicode LIB library
|
---|
522 | ifdef ALT_UNICOWS_LIB_PATH
|
---|
523 | xALT_UNICOWS_LIB_PATH :="$(subst \,/,$(ALT_UNICOWS_LIB_PATH))"
|
---|
524 | UNICOWS_LIB_PATH :=$(call FullPath,$(xALT_UNICOWS_LIB_PATH))
|
---|
525 | else
|
---|
526 | _UNICOWS_LIB_PATH1 :=$(DEPLOY_MSSDK)/Lib
|
---|
527 | _UNICOWS_LIB_PATH2 :=$(_system_drive)/MSLU
|
---|
528 | _UNICOWS_LIB_PATH3 :=$(JDK_DEVTOOLS_DIR)/windows/MSLU
|
---|
529 | UNICOWS_LIB_PATH :=$(call DirExists,$(_UNICOWS_LIB_PATH1),$(_UNICOWS_LIB_PATH2),$(_UNICOWS_LIB_PATH3))
|
---|
530 | endif
|
---|
531 | UNICOWS_LIB_PATH:=$(call AltCheckSpaces,UNICOWS_LIB_PATH)
|
---|
532 | UNICOWS_LIB_PATH:=$(call AltCheckValue,UNICOWS_LIB_PATH)
|
---|
533 |
|
---|
534 | endif
|
---|
535 |
|
---|
536 | # Import JDK images allow for partial builds, components not built are
|
---|
537 | # imported (or copied from) these import areas when needed.
|
---|
538 |
|
---|
539 | # BUILD_JDK_IMPORT_PATH: location of JDK install trees to import for
|
---|
540 | # multiple platforms, e.g. windows-i586, solaris-sparc, linux-586, etc.
|
---|
541 | ifdef ALT_BUILD_JDK_IMPORT_PATH
|
---|
542 | BUILD_JDK_IMPORT_PATH :=$(call FullPath,$(ALT_BUILD_JDK_IMPORT_PATH))
|
---|
543 | else
|
---|
544 | BUILD_JDK_IMPORT_PATH = $(PROMOTED_BUILD_BINARIES)
|
---|
545 | endif
|
---|
546 | BUILD_JDK_IMPORT_PATH:=$(call AltCheckSpaces,BUILD_JDK_IMPORT_PATH)
|
---|
547 | BUILD_JDK_IMPORT_PATH:=$(call AltCheckValue,BUILD_JDK_IMPORT_PATH)
|
---|
548 |
|
---|
549 | # JDK_IMPORT_PATH: location of previously built JDK (this version) to import
|
---|
550 | ifdef ALT_JDK_IMPORT_PATH
|
---|
551 | JDK_IMPORT_PATH :=$(call FullPath,$(ALT_JDK_IMPORT_PATH))
|
---|
552 | else
|
---|
553 | JDK_IMPORT_PATH = $(BUILD_JDK_IMPORT_PATH)/$(PLATFORM)-$(ARCH)$(_JDK_IMPORT_VARIANT)
|
---|
554 | endif
|
---|
555 | JDK_IMPORT_PATH:=$(call AltCheckSpaces,JDK_IMPORT_PATH)
|
---|
556 | JDK_IMPORT_PATH:=$(call AltCheckValue,JDK_IMPORT_PATH)
|
---|
557 |
|
---|
558 | # HOTSPOT_IMPORT_PATH: location of hotspot pre-built files
|
---|
559 | ifdef ALT_HOTSPOT_IMPORT_PATH
|
---|
560 | HOTSPOT_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_IMPORT_PATH))
|
---|
561 | else
|
---|
562 | HOTSPOT_IMPORT_PATH =$(JDK_IMPORT_PATH)
|
---|
563 | endif
|
---|
564 | HOTSPOT_IMPORT_PATH:=$(call AltCheckSpaces,HOTSPOT_IMPORT_PATH)
|
---|
565 | HOTSPOT_IMPORT_PATH:=$(call AltCheckValue,HOTSPOT_IMPORT_PATH)
|
---|
566 |
|
---|
567 | # HOTSPOT_CLIENT_PATH: location of client jvm library file.
|
---|
568 | ifeq ($(ARCH_DATA_MODEL), 32)
|
---|
569 | ifdef ALT_HOTSPOT_CLIENT_PATH
|
---|
570 | HOTSPOT_CLIENT_PATH :=$(call FullPath,$(ALT_HOTSPOT_CLIENT_PATH))
|
---|
571 | else
|
---|
572 | HOTSPOT_CLIENT_PATH =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/client
|
---|
573 | endif
|
---|
574 | HOTSPOT_CLIENT_PATH:=$(call AltCheckSpaces,HOTSPOT_CLIENT_PATH)
|
---|
575 | HOTSPOT_CLIENT_PATH:=$(call AltCheckValue,HOTSPOT_CLIENT_PATH)
|
---|
576 | endif
|
---|
577 |
|
---|
578 | # HOTSPOT_SERVER_PATH: location of server jvm library file.
|
---|
579 | ifdef ALT_HOTSPOT_SERVER_PATH
|
---|
580 | HOTSPOT_SERVER_PATH :=$(call FullPath,$(ALT_HOTSPOT_SERVER_PATH))
|
---|
581 | else
|
---|
582 | HOTSPOT_SERVER_PATH =$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/server
|
---|
583 | endif
|
---|
584 | HOTSPOT_SERVER_PATH:=$(call AltCheckSpaces,HOTSPOT_SERVER_PATH)
|
---|
585 | HOTSPOT_SERVER_PATH:=$(call AltCheckValue,HOTSPOT_SERVER_PATH)
|
---|
586 |
|
---|
587 | # HOTSPOT_LIB_PATH: location of jvm.lib file.
|
---|
588 | ifdef ALT_HOTSPOT_LIB_PATH
|
---|
589 | xALT_HOTSPOT_LIB_PATH :="$(subst \,/,$(ALT_HOTSPOT_LIB_PATH))"
|
---|
590 | HOTSPOT_LIB_PATH :=$(call FullPath,$(xALT_HOTSPOT_LIB_PATH))
|
---|
591 | else
|
---|
592 | HOTSPOT_LIB_PATH =$(HOTSPOT_IMPORT_PATH)/lib
|
---|
593 | endif
|
---|
594 | HOTSPOT_LIB_PATH:=$(call AltCheckSpaces,HOTSPOT_LIB_PATH)
|
---|
595 | HOTSPOT_LIB_PATH:=$(call AltCheckValue,HOTSPOT_LIB_PATH)
|
---|
596 |
|
---|