J. Duke | 319a3b9 | 2007-12-01 00:00:00 +0000 | [diff] [blame^] | 1 | # |
| 2 | # Copyright 2005-2007 Sun Microsystems, Inc. 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. Sun designates this |
| 8 | # particular file as subject to the "Classpath" exception as provided |
| 9 | # by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
| 22 | # CA 95054 USA or visit www.sun.com if you need additional information or |
| 23 | # have any 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 -e 's@[^1-9]*\([1-9][0-9]*\.[0-9][0-9]*\).*@\1@' ) |
| 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 | PREVIOUS_MAJOR_VERSION = 1 |
| 171 | endif |
| 172 | |
| 173 | ifndef JDK_MINOR_VERSION |
| 174 | JDK_MINOR_VERSION = 7 |
| 175 | PREVIOUS_MINOR_VERSION = 6 |
| 176 | endif |
| 177 | |
| 178 | ifndef JDK_MICRO_VERSION |
| 179 | JDK_MICRO_VERSION = 0 |
| 180 | PREVIOUS_MICRO_VERSION = 0 |
| 181 | endif |
| 182 | |
| 183 | ifndef MILESTONE |
| 184 | MILESTONE = internal |
| 185 | endif |
| 186 | |
| 187 | # Default names |
| 188 | LAUNCHER_NAME = java |
| 189 | PRODUCT_NAME = Java(TM) |
| 190 | PRODUCT_SUFFIX = SE Runtime Environment |
| 191 | COMPANY_NAME = Sun Microsystems, Inc. |
| 192 | |
| 193 | ifdef OPENJDK |
| 194 | LAUNCHER_NAME = openjdk |
| 195 | PRODUCT_NAME = OpenJDK |
| 196 | PRODUCT_SUFFIX = Runtime Environment |
| 197 | COMPANY_NAME = |
| 198 | endif |
| 199 | |
| 200 | RUNTIME_NAME = $(PRODUCT_NAME) $(PRODUCT_SUFFIX) |
| 201 | |
| 202 | ifndef BUILD_NUMBER |
| 203 | JDK_BUILD_NUMBER = b00 |
| 204 | else |
| 205 | ifndef JDK_BUILD_NUMBER |
| 206 | JDK_BUILD_NUMBER = $(BUILD_NUMBER) |
| 207 | endif |
| 208 | endif |
| 209 | |
| 210 | # Default variant is the optimized version of everything |
| 211 | # can be OPT or DBG, default is OPT |
| 212 | # Determine the extra pattern to add to the release name for debug/fastdebug. |
| 213 | # Determine the JDK_IMPORT_VARIANT, so we get the right VM files copied over. |
| 214 | # Determine suffix for obj directory or OBJDIR, for .o files. |
| 215 | # (by keeping .o files separate, just .o files, they don't clobber each |
| 216 | # other, however, the library files will clobber each other). |
| 217 | # |
| 218 | ifeq ($(VARIANT), DBG) |
| 219 | BUILD_VARIANT_RELEASE=-debug |
| 220 | OBJDIRNAME_SUFFIX=_g |
| 221 | else |
| 222 | BUILD_VARIANT_RELEASE= |
| 223 | OBJDIRNAME_SUFFIX= |
| 224 | endif |
| 225 | ifeq ($(FASTDEBUG), true) |
| 226 | VARIANT=DBG |
| 227 | BUILD_VARIANT_RELEASE=-fastdebug |
| 228 | OBJDIRNAME_SUFFIX=_gO |
| 229 | _JDK_IMPORT_VARIANT=/fastdebug |
| 230 | endif |
| 231 | |
| 232 | # Depending on the flavor of the build, add a -debug or -fastdebug to the name |
| 233 | ifdef DEBUG_NAME |
| 234 | BUILD_VARIANT_RELEASE=-$(DEBUG_NAME) |
| 235 | endif |
| 236 | |
| 237 | # These default values are redefined during a release build. |
| 238 | # CTE can set JDK_UPDATE_VERSION during the update release |
| 239 | ifdef JDK_UPDATE_VERSION |
| 240 | JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION)_$(JDK_UPDATE_VERSION) |
| 241 | MARKETING_NUMBER := $(shell \ |
| 242 | $(ECHO) $(JDK_UPDATE_VERSION) | $(NAWK) '{if (substr($$0,1,1)=="0") print substr($$0, 2); else print $$0;}') |
| 243 | MARKET_NAME= $(shell $(ECHO) " Update $(MARKETING_NUMBER)") |
| 244 | JDK_MKTG_VERSION = $(JDK_MINOR_VERSION)u$(MARKETING_NUMBER) |
| 245 | else |
| 246 | JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) |
| 247 | JDK_MKTG_VERSION = $(JDK_MINOR_VERSION) |
| 248 | MARKET_NAME= |
| 249 | endif |
| 250 | JDK_UNDERSCORE_VERSION = $(subst .,_,$(JDK_VERSION)) |
| 251 | JDK_MKTG_UNDERSCORE_VERSION = $(subst .,_,$(JDK_MKTG_VERSION)) |
| 252 | |
| 253 | # RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set |
| 254 | ifneq ($(MILESTONE),fcs) |
| 255 | RELEASE = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE) |
| 256 | else |
| 257 | RELEASE = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE) |
| 258 | endif |
| 259 | |
| 260 | # FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set |
| 261 | ifdef BUILD_NUMBER |
| 262 | FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER) |
| 263 | else |
| 264 | BUILD_NUMBER = b00 |
| 265 | USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`) |
| 266 | FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER) |
| 267 | endif |
| 268 | |
| 269 | # Promoted build location |
| 270 | PROMOTED_RE_AREA = $(SLASH_JAVA)/re/jdk/$(JDK_VERSION)/promoted |
| 271 | PROMOTED_BUILD_LATEST = latest |
| 272 | PROMOTED_BUILD_BASEDIR = $(PROMOTED_RE_AREA)/$(PROMOTED_BUILD_LATEST) |
| 273 | PROMOTED_BUILD_BINARIES = $(PROMOTED_BUILD_BASEDIR)/binaries |
| 274 | |
| 275 | # OPT: Changes what the optimizations settings (in _OPT) |
| 276 | POPT = $(_OPT$(ALT_OPT))$(ALT_OPT) |
| 277 | |
| 278 | # PARALLEL_COMPILE_JOBS: is the number of compiles done in parallel. |
| 279 | # If the user sets ALT_PARALLEL_COMPILE_JOBS, then COMPILE_APPROACH is set |
| 280 | # to parallel. |
| 281 | # |
| 282 | # Recommended setting: 2 seems to be ideal for single cpu machines, |
| 283 | # 2 times the number of CPU's is a basic formula, |
| 284 | # but probably not more than 4 if the machine is |
| 285 | # being shared by others, or the machine is limited |
| 286 | # in RAM or swap. |
| 287 | # |
| 288 | ifdef ALT_PARALLEL_COMPILE_JOBS |
| 289 | PARALLEL_COMPILE_JOBS=$(ALT_PARALLEL_COMPILE_JOBS) |
| 290 | else |
| 291 | PARALLEL_COMPILE_JOBS=2 |
| 292 | endif |
| 293 | |
| 294 | # Previous JDK release (version of BOOTDIR version) |
| 295 | ifdef ALT_PREVIOUS_JDK_VERSION |
| 296 | PREVIOUS_JDK_VERSION = $(ALT_PREVIOUS_JDK_VERSION) |
| 297 | else |
| 298 | PREVIOUS_JDK_VERSION = $(PREVIOUS_MAJOR_VERSION).$(PREVIOUS_MINOR_VERSION).$(PREVIOUS_MICRO_VERSION) |
| 299 | endif |
| 300 | export PREVIOUS_JDK_VERSION |
| 301 | PREVIOUS_JDK_VERSION:=$(call AltCheckSpaces,PREVIOUS_JDK_VERSION) |
| 302 | PREVIOUS_JDK_VERSION:=$(call AltCheckValue,PREVIOUS_JDK_VERSION) |
| 303 | |
| 304 | # Version with _ instead of . in number |
| 305 | ifeq ($(PREVIOUS_MINOR_VERSION),5) |
| 306 | PREVIOUS_JDK_UNDERSCORE_VERSION = $(subst .,_,$(PREVIOUS_JDK_VERSION)) |
| 307 | else |
| 308 | PREVIOUS_JDK_UNDERSCORE_VERSION = $(PREVIOUS_MINOR_VERSION) |
| 309 | endif |
| 310 | |
| 311 | # Include any private definitions for this set of workspaces |
| 312 | _PRIVATE_DEFS_FILE=$(JDK_MAKE_SHARED_DIR)/PrivateDefs.gmk |
| 313 | USING_PRIVATE_DEFS:=$(shell if [ -f $(_PRIVATE_DEFS_FILE) ]; then echo true; else echo false; fi) |
| 314 | ifeq ($(USING_PRIVATE_DEFS),true) |
| 315 | dummy:=$(warning "WARNING: Using definitions from $(_PRIVATE_DEFS_FILE)") |
| 316 | include $(_PRIVATE_DEFS_FILE) |
| 317 | endif |
| 318 | |
| 319 | # Get platform specific settings |
| 320 | include $(JDK_MAKE_SHARED_DIR)/Defs-$(PLATFORM).gmk |
| 321 | |
| 322 | # Components |
| 323 | ifdef ALT_LANGTOOLS_DIST |
| 324 | LANGTOOLS_DIST :=$(call FullPath,$(ALT_LANGTOOLS_DIST)) |
| 325 | else |
| 326 | LANGTOOLS_DIST = |
| 327 | endif |
| 328 | ifdef ALT_CORBA_DIST |
| 329 | CORBA_DIST :=$(call FullPath,$(ALT_CORBA_DIST)) |
| 330 | else |
| 331 | CORBA_DIST = |
| 332 | endif |
| 333 | ifdef ALT_JAXP_DIST |
| 334 | JAXP_DIST :=$(call FullPath,$(ALT_JAXP_DIST)) |
| 335 | else |
| 336 | JAXP_DIST = |
| 337 | endif |
| 338 | ifdef ALT_JAXWS_DIST |
| 339 | JAXWS_DIST :=$(call FullPath,$(ALT_JAXWS_DIST)) |
| 340 | else |
| 341 | JAXWS_DIST = |
| 342 | endif |
| 343 | |
| 344 | # HOTSPOT_DOCS_IMPORT_PATH: Path to hotspot docs files to import into the docs generation |
| 345 | ifdef ALT_HOTSPOT_DOCS_IMPORT_PATH |
| 346 | HOTSPOT_DOCS_IMPORT_PATH :=$(call FullPath,$(ALT_HOTSPOT_DOCS_IMPORT_PATH)) |
| 347 | else |
| 348 | HOTSPOT_DOCS_IMPORT_PATH :=$(call DirExists,$(HOTSPOT_IMPORT_PATH)/docs,$(PROMOTED_BUILD_BASEDIR)/docs,/NO_DOCS_DIR) |
| 349 | endif |
| 350 | |
| 351 | # PREVIOUS_JDK_FILE: filename of install bundle for previous JDK |
| 352 | ifdef ALT_PREVIOUS_JDK_FILE |
| 353 | PREVIOUS_JDK_FILE =$(ALT_PREVIOUS_JDK_FILE) |
| 354 | else |
| 355 | PREVIOUS_JDK_FILE = jdk-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX) |
| 356 | endif |
| 357 | export PREVIOUS_JDK_FILE |
| 358 | PREVIOUS_JDK_FILE:=$(call AltCheckSpaces,PREVIOUS_JDK_FILE) |
| 359 | PREVIOUS_JDK_FILE:=$(call AltCheckValue,PREVIOUS_JDK_FILE) |
| 360 | |
| 361 | # PREVIOUS_JRE_FILE: filename of install bundle for previous JRE |
| 362 | ifdef ALT_PREVIOUS_JRE_FILE |
| 363 | PREVIOUS_JRE_FILE =$(ALT_PREVIOUS_JRE_FILE) |
| 364 | else |
| 365 | PREVIOUS_JRE_FILE = jre-$(PREVIOUS_JDK_UNDERSCORE_VERSION)-$(PLATFORM)-$(ARCH)$(BUNDLE_FILE_SUFFIX) |
| 366 | endif |
| 367 | export PREVIOUS_JRE_FILE |
| 368 | PREVIOUS_JRE_FILE:=$(call AltCheckSpaces,PREVIOUS_JRE_FILE) |
| 369 | PREVIOUS_JRE_FILE:=$(call AltCheckValue,PREVIOUS_JRE_FILE) |
| 370 | |
| 371 | # Set here as shared variables |
| 372 | PREVIOUS_JRE_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JRE_FILE) |
| 373 | PREVIOUS_JDK_BUNDLE = $(PREVIOUS_RELEASE_PATH)/$(PREVIOUS_JDK_FILE) |
| 374 | |
| 375 | # These are the same on all platforms but require the above platform include 1st |
| 376 | |
| 377 | # BOOTDIR: Bootstrap JDK, previous released JDK. |
| 378 | # _BOOTDIR1 and _BOOTDIR2 picked by platform |
| 379 | ifdef ALT_BOOTDIR |
| 380 | BOOTDIR =$(ALT_BOOTDIR) |
| 381 | else |
| 382 | BOOTDIR :=$(call DirExists,$(_BOOTDIR1),$(_BOOTDIR2),/NO_BOOTDIR) |
| 383 | endif |
| 384 | export BOOTDIR |
| 385 | BOOTDIR:=$(call AltCheckSpaces,BOOTDIR) |
| 386 | BOOTDIR:=$(call AltCheckValue,BOOTDIR) |
| 387 | |
| 388 | # PREVIOUS_RELEASE_PATH: path to where previous release bundles are |
| 389 | ifdef ALT_PREVIOUS_RELEASE_PATH |
| 390 | PREVIOUS_RELEASE_PATH :=$(call OptFullPath,$(ALT_PREVIOUS_RELEASE_PATH)) |
| 391 | else |
| 392 | PREVIOUS_RELEASE_PATH =$(SLASH_JAVA)/re/jdk/$(PREVIOUS_JDK_VERSION)/archive/fcs/bundles/$(PLATFORM)-$(ARCH) |
| 393 | endif |
| 394 | export PREVIOUS_RELEASE_PATH |
| 395 | PREVIOUS_RELEASE_PATH:=$(call AltCheckSpaces,PREVIOUS_RELEASE_PATH) |
| 396 | PREVIOUS_RELEASE_PATH:=$(call AltCheckValue,PREVIOUS_RELEASE_PATH) |
| 397 | |
| 398 | # PREVIOUS_RELEASE_IMAGE: Previous install image to compare against |
| 399 | ifdef ALT_PREVIOUS_RELEASE_IMAGE |
| 400 | PREVIOUS_RELEASE_IMAGE :=$(call FullPath,$(ALT_PREVIOUS_RELEASE_IMAGE)) |
| 401 | endif |
| 402 | |
| 403 | # CACERTS_FILE: if OPENJDK is false and the internal version of the file |
| 404 | # (that is, non-empty) is available, use it, otherwise use an |
| 405 | # empty keystore. |
| 406 | # |
| 407 | # We put this variable here for sanity checks and in case another |
| 408 | # components will need to know which cacerts file is being used. |
| 409 | # |
| 410 | ifdef ALT_CACERTS_FILE |
| 411 | CACERTS_FILE = $(ALT_CACERTS_FILE) |
| 412 | else |
| 413 | CACERTS_EXT = $(SHARE_SRC)/lib/security/cacerts |
| 414 | ifdef OPENJDK |
| 415 | CACERTS_FILE :=$(CACERTS_EXT) |
| 416 | else # (!OPENJDK) |
| 417 | CACERTS_INT = $(CLOSED_SHARE_SRC)/lib/security/cacerts.internal |
| 418 | CACERTS_FILE :=$(call FileExists,$(CACERTS_INT),$(CACERTS_EXT)) |
| 419 | endif # (OPENJDK) |
| 420 | endif |
| 421 | CACERTS_FILE:=$(call AltCheckSpaces,CACERTS_FILE) |
| 422 | CACERTS_FILE:=$(call AltCheckValue,CACERTS_FILE) |
| 423 | |
| 424 | # OUTPUTDIR: Location of all output for the build |
| 425 | _BACKUP_OUTPUTDIR = $(TEMP_DISK)/$(USER)/jdk-outputdir |
| 426 | ifdef ALT_OUTPUTDIR |
| 427 | _POSSIBLE_OUTPUTDIR =$(subst \,/,$(ALT_OUTPUTDIR)) |
| 428 | else |
| 429 | ifndef _OUTPUTDIR |
| 430 | _OUTPUTDIR = $(_BACKUP_OUTPUTDIR) |
| 431 | endif |
| 432 | _POSSIBLE_OUTPUTDIR =$(_OUTPUTDIR) |
| 433 | endif |
| 434 | _create_outputdir1:=$(shell mkdir -p $(_POSSIBLE_OUTPUTDIR) > $(DEV_NULL) 2>&1) |
| 435 | OUTPUTDIR:=$(call WriteDirExists,$(_POSSIBLE_OUTPUTDIR),$(_BACKUP_OUTPUTDIR)) |
| 436 | _create_outputdir2:=$(shell mkdir -p $(OUTPUTDIR) > $(DEV_NULL) 2>&1) |
| 437 | ifeq "$(OUTPUTDIR)" "$(_BACKUP_OUTPUTDIR)" |
| 438 | _outputdir_warning:=$(warning "WARNING: OUTPUTDIR '$(_POSSIBLE_OUTPUTDIR)' not writable, will use '$(_BACKUP_OUTPUTDIR)'") |
| 439 | endif |
| 440 | OUTPUTDIR:=$(call AltCheckSpaces,OUTPUTDIR) |
| 441 | OUTPUTDIR:=$(call AltCheckValue,OUTPUTDIR) |
| 442 | |
| 443 | # Bin directory |
| 444 | # NOTE: ISA_DIR is usually empty, on Solaris it might be /sparcv9 or /amd64 |
| 445 | BINDIR = $(OUTPUTDIR)/bin$(ISA_DIR) |
| 446 | |
| 447 | # MOZILLA_HEADERS_PATH: path to mozilla header files for plugin |
| 448 | ifdef ALT_MOZILLA_HEADERS_PATH |
| 449 | MOZILLA_HEADERS_PATH :=$(call FullPath,$(ALT_MOZILLA_HEADERS_PATH)) |
| 450 | else |
| 451 | MOZILLA_HEADERS_PATH =$(JDK_DEVTOOLS_DIR)/share/plugin |
| 452 | endif |
| 453 | MOZILLA_HEADERS_PATH:=$(call AltCheckSpaces,MOZILLA_HEADERS_PATH) |
| 454 | MOZILLA_HEADERS_PATH:=$(call AltCheckValue,MOZILLA_HEADERS_PATH) |
| 455 | |
| 456 | # CUPS_HEADERS_PATH: path to Cups headers files for Unix printing |
| 457 | ifneq ($(PLATFORM), windows) |
| 458 | JDK_CUPS_HEADERS_PATH=$(JDK_DEVTOOLS_DIR)/share/cups/include |
| 459 | ifdef ALT_CUPS_HEADERS_PATH |
| 460 | CUPS_HEADERS_PATH:=$(call FullPath,$(ALT_CUPS_HEADERS_PATH)) |
| 461 | CUP_HEADERS_PATH:=$(call AltCheckValue,CUPS_HEADERS_PATH) |
| 462 | else |
| 463 | CUPS_HEADERS_PATH:= \ |
| 464 | $(shell if [ -d "$(JDK_CUPS_HEADERS_PATH)" ]; then \ |
| 465 | echo "$(JDK_CUPS_HEADERS_PATH)"; \ |
| 466 | else \ |
| 467 | echo "$(_CUPS_HEADERS_PATH)";\ |
| 468 | fi) |
| 469 | endif |
| 470 | endif |
| 471 | |
| 472 | ifdef ALT_COPYRIGHT_YEAR |
| 473 | COPYRIGHT_YEAR = $(ALT_COPYRIGHT_YEAR) |
| 474 | else |
| 475 | COPYRIGHT_YEAR = $(shell $(DATE) '+%Y') |
| 476 | endif |
| 477 | |
| 478 | # Absolute path to output directory |
| 479 | ABS_OUTPUTDIR:=$(call FullPath,$(OUTPUTDIR)) |
| 480 | |
| 481 | # Get shared compiler settings |
| 482 | include $(JDK_MAKE_SHARED_DIR)/Compiler.gmk |
| 483 | |