common/makefiles/Jprt.gmk
author erikj
Mon, 04 Mar 2013 16:45:07 +0100
changeset 15790 3a8903868eb2
parent 15396 57dde7448b3f
child 16578 7a35b47cb9e5
permissions -rw-r--r--
8004352: build-infra: Limit JOBS on large machines Reviewed-by: mduigou
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     1
#
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     2
# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     4
#
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    10
#
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    15
# accompanied this code).
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    16
#
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    20
#
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    23
# questions.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    24
#
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    25
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    26
# This file is included by the root NewerMakefile and contains targets 
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    27
# and utilities needed by JPRT.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    28
15072
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
    29
# Utilities used in this Makefile. Most of this makefile executes without
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
    30
# the context of a spec file from configure.
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    31
CAT=cat
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    32
CMP=cmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    33
CP=cp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    34
ECHO=echo
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    35
MKDIR=mkdir
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    36
PRINTF=printf
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    37
PWD=pwd
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    38
# Insure we have a path that looks like it came from pwd
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    39
#   (This is mostly for Windows sake and drive letters)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    40
define UnixPath # path
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    41
$(shell (cd "$1" && $(PWD)))
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    42
endef
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    43
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    44
BUILD_DIR_ROOT:=$(root_dir)/build
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    45
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    46
ifdef OPENJDK
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    47
  OPEN_BUILD=true
15082
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    48
else
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    49
  OPEN_BUILD := $(if $(or $(wildcard $(root_dir)/jdk/src/closed), \
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    50
                          $(wildcard $(root_dir)/jdk/make/closed), \
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    51
                          $(wildcard $(root_dir)/jdk/test/closed), \
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    52
                          $(wildcard $(root_dir)/hotspot/src/closed), \
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    53
                          $(wildcard $(root_dir)/hotspot/make/closed), \
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    54
                          $(wildcard $(root_dir)/hotspot/test/closed)), \
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    55
                     false,true)
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    56
endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    57
15082
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    58
HOTSPOT_AVAILABLE := $(if $(wildcard $(root_dir)/hotspot),true,false)
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
    59
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    60
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    61
# To help in adoption of the new configure&&make build process, a bridge
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    62
#   build will use the old settings to run configure and do the build.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    63
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    64
# Build with the configure bridge. After running configure, restart make
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    65
# to parse the new spec file.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    66
BRIDGE_TARGETS := all
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    67
bridgeBuild: bridge2configure
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    68
	@cd $(root_dir) && $(MAKE) -f NewMakefile.gmk $(BRIDGE_TARGETS)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    69
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    70
# Bridge from old Makefile ALT settings to configure options
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    71
bridge2configure: $(BUILD_DIR_ROOT)/.bridge2configureOpts
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    72
	bash ./configure $(strip $(shell $(CAT) $<))
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    73
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    74
# Create a file with configure options created from old Makefile mechanisms.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    75
$(BUILD_DIR_ROOT)/.bridge2configureOpts: $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    76
	$(RM) $@
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    77
	$(CP) $< $@
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    78
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    79
# Use this file to only change when obvious things have changed
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    80
$(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    81
	$(RM) $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    82
	$(MKDIR) -p $(BUILD_DIR_ROOT)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    83
	@$(ECHO) " --with-debug-level=$(if $(DEBUG_LEVEL),$(DEBUG_LEVEL),release) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    84
ifdef ARCH_DATA_MODEL
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    85
	@$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    86
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    87
ifeq ($(ARCH_DATA_MODEL),32)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    88
	@$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    89
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    90
ifdef ALT_PARALLEL_COMPILE_JOBS
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    91
	@$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    92
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    93
ifdef ALT_BOOTDIR
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    94
	@$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    95
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    96
ifdef ALT_CUPS_HEADERS_PATH
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    97
	@$(ECHO) " --with-cups-include=$(call UnixPath,$(ALT_CUPS_HEADERS_PATH)) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    98
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    99
ifdef ALT_FREETYPE_HEADERS_PATH
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   100
	@$(ECHO) " --with-freetype=$(call UnixPath,$(ALT_FREETYPE_HEADERS_PATH)/..) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   101
endif
15082
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   102
ifeq ($(HOTSPOT_AVAILABLE),false)
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   103
  ifdef ALT_JDK_IMPORT_PATH
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   104
	@$(ECHO) " --with-import-hotspot=$(call UnixPath,$(ALT_JDK_IMPORT_PATH)) " >> $@.tmp
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   105
  endif
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   106
endif
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   107
ifeq ($(OPEN_BUILD),true)
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   108
	@$(ECHO) " --enable-openjdk-only " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   109
else
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   110
  # Todo: move to closed?
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   111
  ifdef ALT_MOZILLA_HEADERS_PATH
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   112
	@$(ECHO) " --with-mozilla-headers=$(call UnixPath,$(ALT_MOZILLA_HEADERS_PATH)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   113
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   114
  ifdef ALT_JUNIT_DIR
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   115
	@$(ECHO) " --with-junit-dir=$(call UnixPath,$(ALT_JUNIT_DIR)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   116
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   117
  ifdef ANT_HOME
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   118
	@$(ECHO) " --with-ant-home=$(call UnixPath,$(ANT_HOME)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   119
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   120
  ifdef ALT_JAVAFX_ZIP_DIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   121
	@$(ECHO) " --with-javafx-zip-dir=$(call UnixPath,$(ALT_JAVAFX_ZIP_DIR)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   122
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   123
  ifdef ALT_WIXDIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   124
	@$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   125
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   126
  ifdef ALT_CCSS_SIGNING_DIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   127
	@$(ECHO) " --with-ccss-signing=$(call UnixPath,$(ALT_CCSS_SIGNING_DIR)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   128
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   129
  ifdef ALT_SLASH_JAVA
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   130
	@$(ECHO) " --with-java-devtools=$(call UnixPath,$(ALT_SLASH_JAVA)/devtools) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   131
  endif
15081
89d743b46460 8006520: build-infra: Fix sparkle-framework configure parameter
erikj
parents: 15072
diff changeset
   132
  ifdef ALT_SPARKLE_FRAMEWORK_DIR
89d743b46460 8006520: build-infra: Fix sparkle-framework configure parameter
erikj
parents: 15072
diff changeset
   133
	@$(ECHO) " --with-sparkle-framework=$(call UnixPath,$(ALT_SPARKLE_FRAMEWORK_DIR)) " >> $@.tmp
89d743b46460 8006520: build-infra: Fix sparkle-framework configure parameter
erikj
parents: 15072
diff changeset
   134
  endif 
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   135
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   136
	@if [ -f $@ ] ; then \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   137
          if ! $(CMP) $@ $@.tmp > /dev/null ; then \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   138
            $(CP) $@.tmp $@ ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   139
          fi ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   140
        else \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   141
          $(CP) $@.tmp $@ ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   142
        fi
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   143
	$(RM) $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   144
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   145
PHONY_LIST += bridge2configure bridgeBuild
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   146
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   147
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   148
# JPRT targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   149
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   150
ifndef JPRT_ARCHIVE_BUNDLE
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   151
  JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   152
endif
15083
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   153
ifndef JPRT_ARCHIVE_INSTALL_BUNDLE
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   154
    JPRT_ARCHIVE_INSTALL_BUNDLE=/tmp/jprt_bundles/product-install.zip
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   155
endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   156
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   157
# These targets execute in a SPEC free context, before calling bridgeBuild
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   158
# to generate the SPEC.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   159
jprt_build_product: DEBUG_LEVEL=release
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   160
jprt_build_product: BUILD_DIRNAME=*-release
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   161
jprt_build_product: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   162
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   163
jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   164
jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   165
jprt_build_fastdebug: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   166
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   167
jprt_build_debug: DEBUG_LEVEL=slowdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   168
jprt_build_debug: BUILD_DIRNAME=*-debug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   169
jprt_build_debug: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   170
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   171
jprt_build_generic: BRIDGE_TARGETS+=jprt_bundle
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   172
jprt_build_generic: bridgeBuild
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   173
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   174
# This target must be called in the context of a SPEC file
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   175
jprt_bundle: $(JPRT_ARCHIVE_BUNDLE)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   176
	@$(call CheckIfMakeAtEnd)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   177
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   178
# This target must be called in the context of a SPEC file
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   179
$(JPRT_ARCHIVE_BUNDLE): bundles
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   180
	$(MKDIR) -p $(@D)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   181
	$(RM) $@
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   182
	$(CP) $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip $@
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   183
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   184
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   185
  SRC_JDK_IMAGE_DIR := $(JDK_OVERLAY_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   186
  SRC_JRE_IMAGE_DIR := $(JRE_OVERLAY_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   187
else
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   188
  SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   189
  SRC_JRE_IMAGE_DIR := $(JRE_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   190
endif
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   191
SRC_JDK_BUNDLE_DIR := $(JDK_BUNDLE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   192
SRC_JRE_BUNDLE_DIR := $(JRE_BUNDLE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   193
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   194
# Bundle up the images
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   195
bundles: all bundles-only
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   196
bundles-only: start-make
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   197
	@$(call TargetEnter)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   198
	$(MKDIR) -p $(BUILD_OUTPUT)/bundles
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   199
	$(CD) $(SRC_JDK_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip .
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   200
	$(CD) $(SRC_JRE_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/$(JRE_IMAGE_SUBDIR).zip .
15083
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   201
	if [ -d  $(BUILD_OUTPUT)/install/bundles ] ; then \
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   202
           $(CD) $(BUILD_OUTPUT)/install/bundles && $(ZIP) -q -r $(JPRT_ARCHIVE_INSTALL_BUNDLE) . ; \
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   203
        fi
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   204
	@$(call TargetExit)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   205
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   206
# Copy images to one unified location regardless of platform etc.
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   207
final-images: all final-images-only
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   208
final-images-only: start-make
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   209
	@$(call TargetEnter)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   210
	$(RM) -r $(BUILD_OUTPUT)/final-images
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   211
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   212
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   213
	$(CP) -R -P $(SRC_JDK_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)/
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   214
	$(CP) -R -P $(SRC_JRE_IMAGE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)/
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   215
ifeq ($(OPENJDK_TARGET_OS),macosx)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   216
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   217
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   218
	$(CP) -R -P $(SRC_JDK_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)/
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   219
	$(CP) -R -P $(SRC_JRE_BUNDLE_DIR)/* $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)/
15072
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   220
endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   221
	@$(call TargetExit)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   222
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   223
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   224
# Keep track of phony targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   225
PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   226
              jprt_build_generic bundles jprt_bundle \
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   227
              final-images final-images-only
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   228
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   229
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   230
# Phony targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   231
.PHONY: $(PHONY_LIST)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   232
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   233
# Force target
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   234
FRC: