common/makefiles/Jprt.gmk
author mullan
Fri, 02 Aug 2013 09:38:13 -0400
changeset 19195 43aaf3e4f68c
parent 17667 2567cad1138a
child 20047 daafff583fd7
permissions -rw-r--r--
Merge
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
16578
7a35b47cb9e5 8006828: "SKIP_BOOT_CYCLE=false" must work in new building infrastructure
erikj
parents: 15396
diff changeset
    67
# Add bootcycle-images target if legacy variable is set.
7a35b47cb9e5 8006828: "SKIP_BOOT_CYCLE=false" must work in new building infrastructure
erikj
parents: 15396
diff changeset
    68
ifeq ($(SKIP_BOOT_CYCLE),false)
7a35b47cb9e5 8006828: "SKIP_BOOT_CYCLE=false" must work in new building infrastructure
erikj
parents: 15396
diff changeset
    69
  BRIDGE_TARGETS += bootcycle-images
7a35b47cb9e5 8006828: "SKIP_BOOT_CYCLE=false" must work in new building infrastructure
erikj
parents: 15396
diff changeset
    70
endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    71
bridgeBuild: bridge2configure
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    72
	@cd $(root_dir) && $(MAKE) -f NewMakefile.gmk $(BRIDGE_TARGETS)
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
# Bridge from old Makefile ALT settings to configure options
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    75
bridge2configure: $(BUILD_DIR_ROOT)/.bridge2configureOpts
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    76
	bash ./configure $(strip $(shell $(CAT) $<))
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    77
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    78
# 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
    79
$(BUILD_DIR_ROOT)/.bridge2configureOpts: $(BUILD_DIR_ROOT)/.bridge2configureOptsLatest
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    80
	$(RM) $@
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    81
	$(CP) $< $@
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    82
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    83
# 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
    84
$(BUILD_DIR_ROOT)/.bridge2configureOptsLatest: FRC
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    85
	$(RM) $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    86
	$(MKDIR) -p $(BUILD_DIR_ROOT)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    87
	@$(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
    88
ifdef ARCH_DATA_MODEL
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    89
	@$(ECHO) " --with-target-bits=$(ARCH_DATA_MODEL) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    90
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    91
ifeq ($(ARCH_DATA_MODEL),32)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    92
	@$(ECHO) " --with-jvm-variants=client,server " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    93
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    94
ifdef ALT_PARALLEL_COMPILE_JOBS
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    95
	@$(ECHO) " --with-num-cores=$(ALT_PARALLEL_COMPILE_JOBS) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    96
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    97
ifdef ALT_BOOTDIR
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    98
	@$(ECHO) " --with-boot-jdk=$(call UnixPath,$(ALT_BOOTDIR)) " >> $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    99
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   100
ifdef ALT_CUPS_HEADERS_PATH
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   101
	@$(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
   102
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   103
ifdef ALT_FREETYPE_HEADERS_PATH
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   104
	@$(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
   105
endif
16583
f29d60d73e42 8010465: Can't enable sjavac when building in jprt.
erikj
parents: 16578
diff changeset
   106
ifdef ENABLE_SJAVAC
f29d60d73e42 8010465: Can't enable sjavac when building in jprt.
erikj
parents: 16578
diff changeset
   107
	@$(ECHO) " --enable-sjavac" >> $@.tmp
f29d60d73e42 8010465: Can't enable sjavac when building in jprt.
erikj
parents: 16578
diff changeset
   108
endif
15082
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   109
ifeq ($(HOTSPOT_AVAILABLE),false)
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   110
  ifdef ALT_JDK_IMPORT_PATH
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   111
	@$(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
   112
  endif
ac03da8601cc 8003693: build-infra: bridgeBuild should allow for partial build (no hotspot)
erikj
parents: 15081
diff changeset
   113
endif
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   114
ifeq ($(OPEN_BUILD),true)
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   115
	@$(ECHO) " --enable-openjdk-only " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   116
else
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   117
  # Todo: move to closed?
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   118
  ifdef ALT_MOZILLA_HEADERS_PATH
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   119
	@$(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
   120
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   121
  ifdef ALT_JUNIT_DIR
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   122
	@$(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
   123
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   124
  ifdef ANT_HOME
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   125
	@$(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
   126
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   127
  ifdef ALT_JAVAFX_ZIP_DIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   128
	@$(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
   129
  endif
17657
6172c55f2c78 8014762: Add JMC configure option mapping to Jprt.gmk
jqzuo
parents: 16583
diff changeset
   130
  ifdef ALT_JMC_ZIP_DIR
6172c55f2c78 8014762: Add JMC configure option mapping to Jprt.gmk
jqzuo
parents: 16583
diff changeset
   131
	@$(ECHO) " --with-jmc-zip-dir=$(call UnixPath,$(ALT_JMC_ZIP_DIR)) " >> $@.tmp
6172c55f2c78 8014762: Add JMC configure option mapping to Jprt.gmk
jqzuo
parents: 16583
diff changeset
   132
  endif
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   133
  ifdef ALT_WIXDIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   134
	@$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   135
  endif
17667
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   136
  ifdef ALT_INSTALL_LZMA_PATH
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   137
	@$(ECHO) " --with-lzma-path=$(call UnixPath,$(ALT_INSTALL_LZMA_PATH)) " >> $@.tmp
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   138
  endif
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   139
  ifdef ALT_INSTALL_UPX_PATH
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   140
	@$(ECHO) " --with-upx-path=$(call UnixPath,$(ALT_INSTALL_UPX_PATH)) " >> $@.tmp
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   141
  endif
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   142
  ifdef ALT_INSTALL_UPX_FILENAME
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   143
	@$(ECHO) " --with-upx-filename=$(call UnixPath,$(ALT_INSTALL_UPX_FILENAME)) " >> $@.tmp
2567cad1138a 6983966: remove lzma and upx from repository JDK8
katleman
parents: 17657
diff changeset
   144
  endif
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   145
  ifdef ALT_CCSS_SIGNING_DIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   146
	@$(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
   147
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   148
  ifdef ALT_SLASH_JAVA
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   149
	@$(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
   150
  endif
15081
89d743b46460 8006520: build-infra: Fix sparkle-framework configure parameter
erikj
parents: 15072
diff changeset
   151
  ifdef ALT_SPARKLE_FRAMEWORK_DIR
89d743b46460 8006520: build-infra: Fix sparkle-framework configure parameter
erikj
parents: 15072
diff changeset
   152
	@$(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
   153
  endif 
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   154
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   155
	@if [ -f $@ ] ; then \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   156
          if ! $(CMP) $@ $@.tmp > /dev/null ; then \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   157
            $(CP) $@.tmp $@ ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   158
          fi ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   159
        else \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   160
          $(CP) $@.tmp $@ ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   161
        fi
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   162
	$(RM) $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   163
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   164
PHONY_LIST += bridge2configure bridgeBuild
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   165
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 targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   168
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   169
ifndef JPRT_ARCHIVE_BUNDLE
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   170
  JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   171
endif
15083
0d22bc048353 8006797: build-infra JPRT builds need JPRT_ARCHIVE_INSTALL_BUNDLE in common/makefiles/Jprt.gmk
tbell
parents: 15082
diff changeset
   172
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
   173
    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
   174
endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   175
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   176
# 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
   177
# to generate the SPEC.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   178
jprt_build_product: DEBUG_LEVEL=release
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   179
jprt_build_product: BUILD_DIRNAME=*-release
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   180
jprt_build_product: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   181
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   182
jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   183
jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   184
jprt_build_fastdebug: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   185
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   186
jprt_build_debug: DEBUG_LEVEL=slowdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   187
jprt_build_debug: BUILD_DIRNAME=*-debug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   188
jprt_build_debug: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   189
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   190
jprt_build_generic: BRIDGE_TARGETS+=jprt_bundle
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   191
jprt_build_generic: bridgeBuild
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   192
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   193
# 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
   194
jprt_bundle: $(JPRT_ARCHIVE_BUNDLE)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   195
	@$(call CheckIfMakeAtEnd)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   196
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   197
# 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
   198
$(JPRT_ARCHIVE_BUNDLE): bundles
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   199
	$(MKDIR) -p $(@D)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   200
	$(RM) $@
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   201
	$(CP) $(BUILD_OUTPUT)/bundles/$(JDK_IMAGE_SUBDIR).zip $@
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   202
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   203
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   204
  SRC_JDK_IMAGE_DIR := $(JDK_OVERLAY_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   205
  SRC_JRE_IMAGE_DIR := $(JRE_OVERLAY_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   206
else
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   207
  SRC_JDK_IMAGE_DIR := $(JDK_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   208
  SRC_JRE_IMAGE_DIR := $(JRE_IMAGE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   209
endif
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   210
SRC_JDK_BUNDLE_DIR := $(JDK_BUNDLE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   211
SRC_JRE_BUNDLE_DIR := $(JRE_BUNDLE_DIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   212
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   213
# Bundle up the images
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   214
bundles: all bundles-only
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   215
bundles-only: start-make
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   216
	@$(call TargetEnter)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   217
	$(MKDIR) -p $(BUILD_OUTPUT)/bundles
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   218
	$(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
   219
	$(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
   220
	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
   221
           $(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
   222
        fi
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   223
	@$(call TargetExit)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   224
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   225
# Copy images to one unified location regardless of platform etc.
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   226
final-images: all final-images-only
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   227
final-images-only: start-make
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   228
	@$(call TargetEnter)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   229
	$(RM) -r $(BUILD_OUTPUT)/final-images
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   230
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_IMAGE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   231
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_IMAGE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   232
	$(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
   233
	$(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
   234
ifeq ($(OPENJDK_TARGET_OS),macosx)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   235
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JDK_BUNDLE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   236
	$(MKDIR) -p $(BUILD_OUTPUT)/final-images/$(JRE_BUNDLE_SUBDIR)
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   237
	$(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
   238
	$(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
   239
endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   240
	@$(call TargetExit)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   241
15396
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   242
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   243
# Keep track of phony targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   244
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
   245
              jprt_build_generic bundles jprt_bundle \
57dde7448b3f 8007275: build-infra: Create final-images target
erikj
parents: 15083
diff changeset
   246
              final-images final-images-only
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   247
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   248
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   249
# Phony targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   250
.PHONY: $(PHONY_LIST)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   251
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   252
# Force target
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   253
FRC: