1 | #
|
---|
2 | # Copyright (c) 2005, 2007, 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 all platforms.
|
---|
28 | #
|
---|
29 | # Normally the convention is that these alternate definitions of
|
---|
30 | # primary make variables are never defined inside the Makefiles anywhere
|
---|
31 | # but are defined via environment variables or set on the make command
|
---|
32 | # line. So you should never see an ALT_* variable defined in any
|
---|
33 | # makefiles, just used. This is the convention and there are some
|
---|
34 | # exceptions, either mistakes or unusual circumstances.
|
---|
35 | #
|
---|
36 | # The naming convention for the default value of one of these variables
|
---|
37 | # that has an ALT_* override capability is to name the default value with a
|
---|
38 | # leading underscore (_). So for XXX you would have:
|
---|
39 | # _XXX default value
|
---|
40 | # ALT_XXX any override the user is providing if any
|
---|
41 | # XXX the final value, either the default _XXX or the ALT_XXX value.
|
---|
42 | #
|
---|
43 |
|
---|
44 | # On Directory names. In very rare cases should the Windows directory
|
---|
45 | # names use the backslash, please use the C:/ style of windows paths.
|
---|
46 | # Avoid duplicating the // characters in paths, this has known to cause
|
---|
47 | # strange problems with jar and other utilities, e.g. /a//b/ != /a/b/.
|
---|
48 | # Some of these variables have an explicit trailing / character, but in
|
---|
49 | # general, they should NOT have the trailing / character.
|
---|
50 |
|
---|
51 | # Get shared system utilities macros defined
|
---|
52 | include $(JDK_MAKE_SHARED_DIR)/Defs-utils.gmk
|
---|
53 |
|
---|
54 | # Assumes ARCH, PLATFORM, ARCH_VM_SUBDIR, JDK_TOPDIR, etc. have been defined.
|
---|
55 |
|
---|
56 | # Simple pwd path
|
---|
57 | define PwdPath
|
---|
58 | $(shell cd $1 2> $(DEV_NULL) && pwd)
|
---|
59 | endef
|
---|
60 |
|
---|
61 | # Checks an ALT value for spaces (should be one word),
|
---|
62 | # warns and returns Check_ALT_$1 if spaces
|
---|
63 | define AltCheckSpaces
|
---|
64 | $(if $(word 2,$($1)),$(warning "WARNING: Value of $1 contains a space: '$($1)', check or set ALT_$1")Check_ALT_$1,$($1))
|
---|
65 | endef
|
---|
66 |
|
---|
67 | # Checks an ALT value for empty, warns and returns Check_ALT_$1 if empty
|
---|
68 | define AltCheckValue
|
---|
69 | $(if $($1),$($1),$(warning "WARNING: Value of $1 cannot be empty, check or set ALT_$1")Check_ALT_$1)
|
---|
70 | endef
|
---|
71 |
|
---|
72 | # Checks any value for empty, warns and returns $2 if empty
|
---|
73 | define CheckValue
|
---|
74 | $(if $($1),$($1),$(warning "WARNING: Value of $1 cannot be empty, will use '$2'")$2)
|
---|
75 | endef
|
---|
76 |
|
---|
77 | # Prefix for a utility prefix path, if empty leave alone, otherwise end with a /
|
---|
78 | define PrefixPath
|
---|
79 | $(if $1,$(subst //,/,$1/),)
|
---|
80 | endef
|
---|
81 |
|
---|
82 | # Select a directory if it exists, or the alternate 2 or the alternate 3
|
---|
83 | define DirExists
|
---|
84 | $(shell \
|
---|
85 | if [ -d "$1" ]; then \
|
---|
86 | echo "$1"; \
|
---|
87 | elif [ -d "$2" ]; then \
|
---|
88 | echo "$2"; \
|
---|
89 | else \
|
---|
90 | echo "$3"; \
|
---|
91 | fi)
|
---|
92 | endef
|
---|
93 |
|
---|
94 | # Select a writable directory if it exists and is writable, or the alternate
|
---|
95 | define WriteDirExists
|
---|
96 | $(shell \
|
---|
97 | if [ -d "$1" -a -w "$1" ]; then \
|
---|
98 | echo "$1"; \
|
---|
99 | else \
|
---|
100 | echo "$2"; \
|
---|
101 | fi)
|
---|
102 | endef
|
---|
103 |
|
---|
104 | # Select a file if it exists, or the alternate 1, or the alternate 2
|
---|
105 | define FileExists
|
---|
106 | $(shell \
|
---|
107 | if [ -r "$1" ]; then \
|
---|
108 | echo "$1"; \
|
---|
109 | elif [ -r "$2" ]; then \
|
---|
110 | echo "$2"; \
|
---|
111 | else \
|
---|
112 | echo "NO_FILE_EXISTS"; \
|
---|
113 | fi)
|
---|
114 | endef
|
---|
115 |
|
---|
116 | # Given a line of text, get the major.minor version number from it
|
---|
117 | define GetVersion
|
---|
118 | $(shell echo $1 | sed -ne 's@[^1-9]*\([1-9][0-9]*\.[0-9][0-9]*\).*@\1@p')
|
---|
119 | endef
|
---|
120 |
|
---|
121 | # Given a major.minor.micro version, return the major, minor, or micro number
|
---|
122 | define MajorVersion
|
---|
123 | $(if $(word 1, $(subst ., ,$1)),$(word 1, $(subst ., ,$1)),0)
|
---|
124 | endef
|
---|
125 | define MinorVersion
|
---|
126 | $(if $(word 2, $(subst ., ,$1)),$(word 2, $(subst ., ,$1)),0)
|
---|
127 | endef
|
---|
128 | define MicroVersion
|
---|
129 | $(if $(word 3, $(subst ., ,$1)),$(word 3, $(subst ., ,$1)),0)
|
---|
130 | endef
|
---|
131 |
|
---|
132 | # Macro that returns missing, same, newer, or older $1=version $2=required
|
---|
133 | # (currently does not check the micro number)
|
---|
134 | define CheckVersions
|
---|
135 | $(shell \
|
---|
136 | if [ "$1" = "" -o "$2" = "" ]; then \
|
---|
137 | echo missing; \
|
---|
138 | else \
|
---|
139 | if [ "$1" = "$2" ]; then \
|
---|
140 | echo same; \
|
---|
141 | else \
|
---|
142 | if [ $(call MajorVersion,$1) -lt $(call MajorVersion,$2) ] ; then \
|
---|
143 | echo older; \
|
---|
144 | else \
|
---|
145 | if [ $(call MajorVersion,$1) -eq $(call MajorVersion,$2) -a \
|
---|
146 | $(call MinorVersion,$1) -lt $(call MinorVersion,$2) ]; then \
|
---|
147 | echo older; \
|
---|
148 | else \
|
---|
149 | echo newer; \
|
---|
150 | fi; \
|
---|
151 | fi; \
|
---|
152 | fi; \
|
---|
153 | fi)
|
---|
154 | endef
|
---|
155 |
|
---|
156 | # Make sure certain variables are non-empty at this point
|
---|
157 | _check_values:=\
|
---|
158 | $(call CheckValue,ARCH,),\
|
---|
159 | $(call CheckValue,ARCH_DATA_MODEL,),\
|
---|
160 | $(call CheckValue,ARCH_VM_SUBDIR,),\
|
---|
161 | $(call CheckValue,JDK_TOPDIR,),\
|
---|
162 | $(call CheckValue,JDK_MAKE_SHARED_DIR,),\
|
---|
163 | $(call CheckValue,VARIANT,),\
|
---|
164 | $(call CheckValue,PLATFORM,)
|
---|
165 |
|
---|
166 | # Misc common settings for all workspaces
|
---|
167 | # This determines the version of the product, and the previous version or boot
|
---|
168 | ifndef JDK_MAJOR_VERSION
|
---|
169 | JDK_MAJOR_VERSION = 1
|
---|
170 | endif
|
---|
171 | ifndef JDK_MINOR_VERSION
|
---|
172 | JDK_MINOR_VERSION = 6
|
---|
173 | endif
|
---|
174 | ifndef JDK_MICRO_VERSION
|
---|
175 | JDK_MICRO_VERSION = 0
|
---|
176 | endif
|
---|
177 |
|
---|
178 | ifndef PREVIOUS_MAJOR_VERSION
|
---|
179 | PREVIOUS_MAJOR_VERSION = 1
|
---|
180 | endif
|
---|
181 | ifndef PREVIOUS_MINOR_VERSION
|
---|
182 | PREVIOUS_MINOR_VERSION = 6
|
---|
183 | endif
|
---|
184 | ifndef PREVIOUS_MICRO_VERSION
|
---|
185 | PREVIOUS_MICRO_VERSION = 0
|
---|
186 | endif
|
---|
187 | #ifndef PREVIOUS_UPDATE_VERSION
|
---|
188 | #PREVIOUS_UPDATE_VERSION=_12
|
---|
189 | #endif
|
---|
190 |
|
---|
191 | ifndef MILESTONE
|
---|
192 | MILESTONE = internal
|
---|
193 | endif
|
---|
194 |
|
---|
195 | # Default names
|
---|
196 | ifdef OPENJDK
|
---|
197 | LAUNCHER_NAME = openjdk
|
---|
198 | PRODUCT_NAME = OpenJDK
|
---|
199 | PRODUCT_SUFFIX = Runtime Environment
|
---|
200 | JDK_RC_PLATFORM_NAME = Platform
|
---|
201 | COMPANY_NAME = N/A
|
---|
202 | else
|
---|
203 | LAUNCHER_NAME = java
|
---|
204 | PRODUCT_NAME = Java(TM)
|
---|
205 | PRODUCT_SUFFIX = SE Runtime Environment
|
---|
206 | JDK_RC_PLATFORM_NAME = Platform SE
|
---|
207 | COMPANY_NAME = Oracle
|
---|
208 | endif
|
---|
209 |
|
---|
210 | RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX)
|
---|
211 |
|
---|
212 | ifndef BUILD_NUMBER
|
---|
213 | JDK_BUILD_NUMBER = b00
|
---|
214 | else
|
---|
215 | ifndef JDK_BUILD_NUMBER
|
---|
216 | JDK_BUILD_NUMBER = $(BUILD_NUMBER)
|
---|
217 | endif
|
---|
218 | endif
|
---|
219 |
|
---|
220 | # Default variant is the optimized version of everything
|
---|
221 | # can be OPT or DBG, default is OPT
|
---|
222 | # Determine the extra pattern to add to the release name for debug/fastdebug.
|
---|
223 | # Determine the JDK_IMPORT_VARIANT, so we get the right VM files copied over.
|
---|
224 | # Determine suffix for obj directory or OBJDIR, for .o files.
|
---|
225 | # (by keeping .o files separate, just .o files, they don't clobber each
|
---|
226 | # other, however, the library files will clobber each other).
|
---|
227 | #
|
---|
228 | ifeq ($(VARIANT), DBG)
|
---|
229 | BUILD_VARIANT_RELEASE=-debug
|
---|
230 | OBJDIRNAME_SUFFIX=_g
|
---|
231 | else
|
---|
232 | BUILD_VARIANT_RELEASE=
|
---|
233 | OBJDIRNAME_SUFFIX=
|
---|
234 | endif
|
---|
235 | ifeq ($(FASTDEBUG), true)
|
---|
236 | VARIANT=DBG
|
---|
237 | BUILD_VARIANT_RELEASE=-fastdebug
|
---|
238 | OBJDIRNAME_SUFFIX=_gO
|
---|
239 | _JDK_IMPORT_VARIANT=/fastdebug
|
---|
240 | endif
|
---|
241 |
|
---|
242 | # Depending on the flavor of the build, add a -debug or -fastdebug to the name
|
---|
243 | ifdef DEBUG_NAME
|
---|
244 | BUILD_VARIANT_RELEASE=-$(DEBUG_NAME)
|
---|
245 | endif
|
---|
246 |
|
---|
247 | # These default values are redefined during a release build.
|
---|
248 | # CTE can set JDK_UPDATE_VERSION during the update release
|
---|
249 | ifdef JDK_UPDATE_VERSION
|
---|
250 | JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)_$(JDK_UPDATE_VERSION)
|
---|
251 | MARKETING_NUMBER := $(shell \
|
---|
252 | $(ECHO) $(JDK_UPDATE_VERSION) | $(NAWK) '{if (substr($$0,1,1)=="0") print substr($$0, 2); else print $$0;}')
|
---|
253 | MARKET_NAME= $(shell $(ECHO) " Update $(MARKETING_NUMBER)")
|
---|
254 | JDK_MKTG_VERSION = $(JDK_MINOR_VERSION)u$(MARKETING_NUMBER)
|
---|
255 | else
|
---|
256 | JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)
|
---|
257 | JDK_MKTG_VERSION = $(JDK_MINOR_VERSION)
|
---|
258 | MARKET_NAME=
|
---|
259 | endif
|
---|
260 | JDK_UNDERSCORE_VERSION = $(subst .,_,$(JDK_VERSION))
|
---|
261 | JDK_MKTG_UNDERSCORE_VERSION = $(subst .,_,$(JDK_MKTG_VERSION))
|
---|
262 |
|
---|
263 | # RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set
|
---|
264 | ifneq ($(MILESTONE),fcs)
|
---|
265 | RELEASE = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE)
|
---|
266 | else
|
---|
267 | RELEASE = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE)
|
---|
268 | endif
|
---|
269 |
|
---|
270 | # FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set
|
---|
271 | ifdef BUILD_NUMBER
|
---|
272 | FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER)
|
---|
273 | else
|
---|
274 | BUILD_NUMBER = b00
|
---|
275 | USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`)
|
---|
276 | FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER)
|
---|
277 | endif
|
---|
278 |
|
---|
279 | # Promoted build location
|
---|
280 | PROMOTED_RE_AREA = $(SLASH_JAVA)/re/openjdk/$(JDK_MINOR_VERSION)/promoted
|
---|
281 | PROMOTED_BUILD_LATEST = latest
|
---|
282 | PROMOTED_BUILD_BASEDIR = $(PROMOTED_RE_AREA)/$(PROMOTED_BUILD_LATEST)
|
---|
283 | PROMOTED_BUILD_BINARIES = $(PROMOTED_BUILD_BASEDIR)/binaries
|
---|
284 |
|
---|
285 | # OPT: Changes what the optimizations settings (in _OPT)
|
---|
286 | POPT = $(_OPT$(ALT_OPT))$(ALT_OPT)
|
---|
287 |
|
---|
288 | # PARALLEL_COMPILE_JOBS: is the number of compiles done in parallel.
|
---|
289 | # If the user sets ALT_PARALLEL_COMPILE_JOBS, then COMPILE_APPROACH is set
|
---|
290 | # to parallel.
|
---|
291 | #
|
---|
292 | # Recommended setting: 2 seems to be ideal for single cpu machines,
|
---|
293 | # 2 times the number of CPU's is a basic formula,
|
---|
294 | # but probably not more than 4 if the machine is
|
---|
295 | # being shared by others, or the machine is limited
|
---|
296 | # in RAM or swap.
|
---|
297 | #
|
---|
298 | ifdef ALT_PARALLEL_COMPILE_JOBS
|
---|
299 | PARALLEL_COMPILE_JOBS=$(ALT_PARALLEL_COMPILE_JOBS)
|
---|
300 | else
|
---|
301 | PARALLEL_COMPILE_JOBS=2
|
---|
302 | endif
|
---|
303 |
|
---|
304 | # Previous JDK release (version of BOOTDIR version)
|
---|
305 | ifdef ALT_PREVIOUS_JDK_VERSION
|
---|
306 | PREVIOUS_JDK_VERSION = $(ALT_PREVIOUS_JDK_VERSION)
|
---|
307 | else
|
---|
308 | PREVIOUS_JDK_VERSION = $(PREVIOUS_MAJOR_VERSION).$(PREVIOUS_MINOR_VERSION).$(PREVIOUS_MICRO_VERSION)$(PREVIOUS_UPDATE_VERSION)
|
---|
309 | endif
|
---|
310 | export PREVIOUS_JDK_VERSION
|
---|
311 | PREVIOUS_JDK_VERSION:=$(call AltCheckSpaces,PREVIOUS_JDK_VERSION)
|
---|
312 | PREVIOUS_JDK_VERSION:=$(call AltCheckValue,PREVIOUS_JDK_VERSION)
|
---|
313 |
|
---|
314 | # Version with _ instead of . in number
|
---|
315 | ifeq ($(PREVIOUS_MINOR_VERSION),5)
|
---|
316 | PREVIOUS_JDK_UNDERSCORE_VERSION = $(subst .,_,$(PREVIOUS_JDK_VERSION))
|
---|
317 | else
|
---|
318 | PREVIOUS_JDK_UNDERSCORE_VERSION = $(PREVIOUS_MINOR_VERSION)
|
---|
319 | endif
|
---|
320 |
|
---|
321 | # Include any private definitions for this set of workspaces
|
---|
322 | _PRIVATE_DEFS_FILE=$(JDK_MAKE_SHARED_DIR)/PrivateDefs.gmk
|
---|
323 | USING_PRIVATE_DEFS:=$(shell if [ -f $(_PRIVATE_DEFS_FILE) ]; then echo true; else echo false; fi)
|
---|
324 | ifeq ($(USING_PRIVATE_DEFS),true)
|
---|
325 | dummy:=$(warning "WARNING: Using definitions from $(_PRIVATE_DEFS_FILE)")
|
---|
326 | include $(_PRIVATE_DEFS_FILE)
|
---|
327 | endif
|
---|
328 |
|
---|
329 | # Get platform specific settings
|
---|
330 | include $(JDK_MAKE_SHARED_DIR)/Defs-$(PLATFORM).gmk
|
---|
331 |
|
---|
332 | # Components
|
---|
333 | ifdef ALT_LANGTOOLS_DIST
|
---|
334 | LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST))
|
---|
335 | else
|
---|
336 | LANGTOOLS_DIST =
|
---|
337 | endif
|
---|
338 | ifdef ALT_CORBA_DIST
|
---|
339 | CORBA_DIST :=$(call FullPath,$(ALT_CORBA_DIST))
|
---|
340 | else
|
---|
341 | CORBA_DIST =
|
---|
342 | endif
|
---|
343 | ifdef ALT_JAXP_DIST
|
---|
344 | JAXP_DIST :=$(call FullPath,$(ALT_JAXP_DIST))
|
---|
345 | else
|
---|
346 | JAXP_DIST =
|
---|
347 | endif
|
---|
348 | ifdef ALT_JAXWS_DIST
|
---|
349 | JAXWS_DIST :=$(call FullPath,$(ALT_JAXWS_DIST))
|
---|
350 | else
|
---|
351 | JAXWS_DIST =
|
---|
352 | endif
|
---|
353 |
|
---|
354 | # HOTSPOT_DOCS_IMPORT_PATH: Path to hotspot docs files to import into the docs generation
|
---|
355 | ifdef ALT_HOTSPOT_DOCS_IMPORT_PATH
|
---|
356 | HOTSPOT_DOCS_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_DOCS_IMPORT_PATH))
|
---|
357 | else
|
---|
358 | HOTSPOT_DOCS_IMPORT_PATH :=$(call DirExists,$(HOTSPOT_IMPORT_PATH)/docs,$(PROMOTED_BUILD_BASEDIR)/docs,/NO_DOCS_DIR)
|
---|
359 | endif
|
---|
360 |
|
---|
361 | # PREVIOUS_JDK_FILE: filename of install bundle for previous JDK
|
---|
362 | ifdef ALT_PREVIOUS_JDK_FILE
|
---|
363 | PREVIOUS_JDK_FILE =$(ALT_PREVIOUS_JDK_FILE)
|
---|
364 | else
|
---|
365 | PREVIOUS_JDK_FILE = jdk-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX)
|
---|
366 | endif
|
---|
367 | export PREVIOUS_JDK_FILE
|
---|
368 | PREVIOUS_JDK_FILE:=$(call AltCheckSpaces,PREVIOUS_JDK_FILE)
|
---|
369 | PREVIOUS_JDK_FILE:=$(call AltCheckValue,PREVIOUS_JDK_FILE)
|
---|
370 |
|
---|
371 | # PREVIOUS_JRE_FILE: filename of install bundle for previous JRE
|
---|
372 | ifdef ALT_PREVIOUS_JRE_FILE
|
---|
373 | PREVIOUS_JRE_FILE =$(ALT_PREVIOUS_JRE_FILE)
|
---|
374 | else
|
---|
375 | PREVIOUS_JRE_FILE = jre-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX)
|
---|
376 | endif
|
---|
377 | export PREVIOUS_JRE_FILE
|
---|
378 | PREVIOUS_JRE_FILE:=$(call AltCheckSpaces,PREVIOUS_JRE_FILE)
|
---|
379 | PREVIOUS_JRE_FILE:=$(call AltCheckValue,PREVIOUS_JRE_FILE)
|
---|
380 |
|
---|
381 | # Set here as shared variables
|
---|
382 | PREVIOUS_JRE_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JRE_FILE)
|
---|
383 | PREVIOUS_JDK_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JDK_FILE)
|
---|
384 |
|
---|
385 | # These are the same on all platforms but require the above platform include 1st
|
---|
386 |
|
---|
387 | # BOOTDIR: Bootstrap JDK, previous released JDK.
|
---|
388 | # _BOOTDIR1 and _BOOTDIR2 picked by platform
|
---|
389 | ifdef ALT_BOOTDIR
|
---|
390 | BOOTDIR =$(ALT_BOOTDIR)
|
---|
391 | else
|
---|
392 | BOOTDIR :=$(call DirExists,$(_BOOTDIR1),$(_BOOTDIR2),/NO_BOOTDIR)
|
---|
393 | endif
|
---|
394 | export BOOTDIR
|
---|
395 | BOOTDIR:=$(call AltCheckSpaces,BOOTDIR)
|
---|
396 | BOOTDIR:=$(call AltCheckValue,BOOTDIR)
|
---|
397 |
|
---|
398 | # PREVIOUS_RELEASE_PATH: path to where previous release bundles are
|
---|
399 | ifdef ALT_PREVIOUS_RELEASE_PATH
|
---|
400 | PREVIOUS_RELEASE_PATH :=$(call OptFullPath,$(ALT_PREVIOUS_RELEASE_PATH))
|
---|
401 | else
|
---|
402 | PREVIOUS_RELEASE_PATH =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/bundles/$(PLATFORM)-$(ARCH)
|
---|
403 | endif
|
---|
404 | export PREVIOUS_RELEASE_PATH
|
---|
405 | PREVIOUS_RELEASE_PATH:=$(call AltCheckSpaces,PREVIOUS_RELEASE_PATH)
|
---|
406 | PREVIOUS_RELEASE_PATH:=$(call AltCheckValue,PREVIOUS_RELEASE_PATH)
|
---|
407 |
|
---|
408 | # PREVIOUS_RELEASE_IMAGE: Previous install image to compare against
|
---|
409 | ifdef ALT_PREVIOUS_RELEASE_IMAGE
|
---|
410 | PREVIOUS_RELEASE_IMAGE :=$(call FullPath,$(ALT_PREVIOUS_RELEASE_IMAGE))
|
---|
411 | endif
|
---|
412 |
|
---|
413 | # CACERTS_FILE: if OPENJDK is false and the internal version of the file
|
---|
414 | # (that is, non-empty) is available, use it, otherwise use an
|
---|
415 | # empty keystore.
|
---|
416 | #
|
---|
417 | # We put this variable here for sanity checks and in case another
|
---|
418 | # components will need to know which cacerts file is being used.
|
---|
419 | #
|
---|
420 | ifdef ALT_CACERTS_FILE
|
---|
421 | CACERTS_FILE = $(ALT_CACERTS_FILE)
|
---|
422 | else
|
---|
423 | CACERTS_EXT = $(SHARE_SRC)/lib/security/cacerts
|
---|
424 | ifdef OPENJDK
|
---|
425 | CACERTS_FILE :=$(CACERTS_EXT)
|
---|
426 | else # (!OPENJDK)
|
---|
427 | CACERTS_INT = $(CLOSED_SHARE_SRC)/lib/security/cacerts.internal
|
---|
428 | CACERTS_FILE :=$(call FileExists,$(CACERTS_INT),$(CACERTS_EXT))
|
---|
429 | endif # (OPENJDK)
|
---|
430 | endif
|
---|
431 | CACERTS_FILE:=$(call AltCheckSpaces,CACERTS_FILE)
|
---|
432 | CACERTS_FILE:=$(call AltCheckValue,CACERTS_FILE)
|
---|
433 |
|
---|
434 | # OUTPUTDIR: Location of all output for the build
|
---|
435 | _BACKUP_OUTPUTDIR = $(TEMP_DISK)/$(USER)/jdk-outputdir
|
---|
436 | ifdef ALT_OUTPUTDIR
|
---|
437 | _POSSIBLE_OUTPUTDIR =$(subst \,/,$(ALT_OUTPUTDIR))
|
---|
438 | else
|
---|
439 | ifndef _OUTPUTDIR
|
---|
440 | _OUTPUTDIR = $(_BACKUP_OUTPUTDIR)
|
---|
441 | endif
|
---|
442 | _POSSIBLE_OUTPUTDIR =$(_OUTPUTDIR)
|
---|
443 | endif
|
---|
444 |
|
---|
445 | #
|
---|
446 | # When signing the JCE framework and provider, we could be using built
|
---|
447 | # bits on a read-only filesystem. If so, this test will fail and crash
|
---|
448 | # the build.
|
---|
449 | #
|
---|
450 | ifndef IGNORE_WRITABLE_OUTPUTDIR_TEST
|
---|
451 | _create_outputdir1:=$(shell mkdir -p $(_POSSIBLE_OUTPUTDIR) > $(DEV_NULL) 2>&1)
|
---|
452 | OUTPUTDIR:=$(call WriteDirExists,$(_POSSIBLE_OUTPUTDIR),$(_BACKUP_OUTPUTDIR))
|
---|
453 | _create_outputdir2:=$(shell mkdir -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1)
|
---|
454 | ifeq "$(OUTPUTDIR)" "$(_BACKUP_OUTPUTDIR)"
|
---|
455 | _outputdir_warning:=$(warning "WARNING: OUTPUTDIR '$(_POSSIBLE_OUTPUTDIR)' not writable, will use '$(_BACKUP_OUTPUTDIR)'")
|
---|
456 | endif
|
---|
457 | else
|
---|
458 | OUTPUTDIR:=$(_POSSIBLE_OUTPUTDIR)
|
---|
459 | endif
|
---|
460 |
|
---|
461 | OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR)
|
---|
462 | OUTPUTDIR:=$(call AltCheckValue,OUTPUTDIR)
|
---|
463 |
|
---|
464 | # Bin directory
|
---|
465 | # NOTE: ISA_DIR is usually empty, on Solaris it might be /sparcv9 or /amd64
|
---|
466 | BINDIR = $(OUTPUTDIR)/bin$(ISA_DIR)
|
---|
467 |
|
---|
468 | # MOZILLA_HEADERS_PATH: path to mozilla header files for plugin
|
---|
469 | ifdef ALT_MOZILLA_HEADERS_PATH
|
---|
470 | MOZILLA_HEADERS_PATH :=$(call FullPath,$(ALT_MOZILLA_HEADERS_PATH))
|
---|
471 | else
|
---|
472 | MOZILLA_HEADERS_PATH =$(JDK_DEVTOOLS_DIR)/share/plugin
|
---|
473 | endif
|
---|
474 | MOZILLA_HEADERS_PATH:=$(call AltCheckSpaces,MOZILLA_HEADERS_PATH)
|
---|
475 | MOZILLA_HEADERS_PATH:=$(call AltCheckValue,MOZILLA_HEADERS_PATH)
|
---|
476 |
|
---|
477 | # CUPS_HEADERS_PATH: path to Cups headers files for Unix printing
|
---|
478 | ifneq ($(PLATFORM), windows)
|
---|
479 | JDK_CUPS_HEADERS_PATH=$(JDK_DEVTOOLS_DIR)/share/cups/include
|
---|
480 | ifdef ALT_CUPS_HEADERS_PATH
|
---|
481 | CUPS_HEADERS_PATH:=$(call FullPath,$(ALT_CUPS_HEADERS_PATH))
|
---|
482 | CUPS_HEADERS_PATH:=$(call AltCheckValue,CUPS_HEADERS_PATH)
|
---|
483 | else
|
---|
484 | CUPS_HEADERS_PATH:= \
|
---|
485 | $(shell if [ -d "$(JDK_CUPS_HEADERS_PATH)" ]; then \
|
---|
486 | echo "$(JDK_CUPS_HEADERS_PATH)"; \
|
---|
487 | else \
|
---|
488 | echo "$(_CUPS_HEADERS_PATH)";\
|
---|
489 | fi)
|
---|
490 | endif
|
---|
491 | endif
|
---|
492 |
|
---|
493 | ifdef ALT_COPYRIGHT_YEAR
|
---|
494 | COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR)
|
---|
495 | else
|
---|
496 | COPYRIGHT_YEAR = $(shell $(DATE) '+%Y')
|
---|
497 | endif
|
---|
498 |
|
---|
499 | # Absolute path to output directory
|
---|
500 | ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR))
|
---|
501 |
|
---|
502 | # Get shared compiler settings
|
---|
503 | include $(JDK_MAKE_SHARED_DIR)/Compiler.gmk
|
---|
504 |
|
---|