common/makefiles/Jprt.gmk
author erikj
Mon, 14 Jan 2013 15:30:22 +0100
changeset 15072 71f6bf463347
parent 15061 9c6c6c6628cf
child 15081 89d743b46460
permissions -rw-r--r--
8006100: build-infra: Bundle up the correct images in jprt Reviewed-by: tbell
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
# Appears to be an open build
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    47
OPEN_BUILD := \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    48
$(shell \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    49
  if [    -d $(root_dir)/jdk/src/closed      \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    50
       -o -d $(root_dir)/jdk/make/closed     \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    51
       -o -d $(root_dir)/jdk/test/closed     \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    52
       -o -d $(root_dir)/hotspot/src/closed  \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    53
       -o -d $(root_dir)/hotspot/make/closed \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    54
       -o -d $(root_dir)/hotspot/test/closed ] ; then \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    55
    echo "false"; \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    56
  else \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    57
    echo "true"; \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    58
  fi \
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    59
 )
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    60
ifdef OPENJDK
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    61
  OPEN_BUILD=true
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    62
endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
    63
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    64
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    65
# 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
    66
#   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
    67
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    68
# 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
    69
# to parse the new spec file.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
    70
BRIDGE_TARGETS := all
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
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   106
ifeq ($(OPEN_BUILD),true)
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   107
	@$(ECHO) " --enable-openjdk-only " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   108
else
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   109
  # Todo: move to closed?
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   110
  ifdef ALT_MOZILLA_HEADERS_PATH
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   111
	@$(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
   112
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   113
  ifdef ALT_JUNIT_DIR
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   114
	@$(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
   115
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   116
  ifdef ANT_HOME
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   117
	@$(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
   118
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   119
  ifdef ALT_JAVAFX_ZIP_DIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   120
	@$(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
   121
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   122
  ifdef ALT_WIXDIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   123
	@$(ECHO) " --with-wix=$(call UnixPath,$(ALT_WIXDIR)) " >> $@.tmp
15061
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   124
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   125
  ifdef ALT_CCSS_SIGNING_DIR
15058
61c4ac49cbda 8005635: build-infra: Support building install in jprt
erikj
parents: 15053
diff changeset
   126
	@$(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
   127
  endif
9c6c6c6628cf 8005597: build-infra: bridgeBuild broken for pure openjdk build
erikj
parents: 15058
diff changeset
   128
  ifdef ALT_SLASH_JAVA
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   129
	@$(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
   130
  endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   131
endif
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   132
	@if [ -f $@ ] ; then \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   133
          if ! $(CMP) $@ $@.tmp > /dev/null ; then \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   134
            $(CP) $@.tmp $@ ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   135
          fi ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   136
        else \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   137
          $(CP) $@.tmp $@ ; \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   138
        fi
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   139
	$(RM) $@.tmp
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   140
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   141
PHONY_LIST += bridge2configure bridgeBuild
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   142
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   143
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   144
# JPRT targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   145
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   146
ifndef JPRT_ARCHIVE_BUNDLE
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   147
  JPRT_ARCHIVE_BUNDLE=/tmp/jprt_bundles/j2sdk-image.zip
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   148
endif
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
# 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
   151
# to generate the SPEC.
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   152
jprt_build_product: DEBUG_LEVEL=release
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   153
jprt_build_product: BUILD_DIRNAME=*-release
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   154
jprt_build_product: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   155
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   156
jprt_build_fastdebug: DEBUG_LEVEL=fastdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   157
jprt_build_fastdebug: BUILD_DIRNAME=*-fastdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   158
jprt_build_fastdebug: jprt_build_generic
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   159
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   160
jprt_build_debug: DEBUG_LEVEL=slowdebug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   161
jprt_build_debug: BUILD_DIRNAME=*-debug
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   162
jprt_build_debug: jprt_build_generic
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
jprt_build_generic: BRIDGE_TARGETS+=jprt_bundle
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   165
jprt_build_generic: bridgeBuild
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
# 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
   168
jprt_bundle: $(JPRT_ARCHIVE_BUNDLE)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   169
	@$(call CheckIfMakeAtEnd)
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
# 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
   172
$(JPRT_ARCHIVE_BUNDLE): bundles
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   173
	$(MKDIR) -p $(@D)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   174
	$(RM) $@
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   175
	$(CP) $(BUILD_OUTPUT)/bundles/j2sdk-image.zip $@
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   176
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   177
# 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
   178
bundles: all
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   179
	@$(call TargetEnter)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   180
	$(MKDIR) -p $(BUILD_OUTPUT)/bundles
15072
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   181
ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   182
	$(CD) $(JDK_OVERLAY_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2sdk-image.zip .
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   183
	$(CD) $(JRE_OVERLAY_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2re-image.zip .
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   184
else
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   185
	$(CD) $(JDK_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2sdk-image.zip .
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   186
	$(CD) $(JRE_IMAGE_DIR) && $(ZIP) -q -r $(BUILD_OUTPUT)/bundles/j2re-image.zip .
71f6bf463347 8006100: build-infra: Bundle up the correct images in jprt
erikj
parents: 15061
diff changeset
   187
endif
15053
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   188
	@$(call TargetExit)
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
# Keep track of phony targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   191
PHONY_LIST += jprt_build_product jprt_build_fastdebug jprt_build_debug \
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   192
              jprt_build_generic bundles jprt_bundle
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   193
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   194
###########################################################################
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   195
# Phony targets
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   196
.PHONY: $(PHONY_LIST)
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   197
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   198
# Force target
64278cb83950 8005549: build-infra: Merge NewMakefile.gmk and common/makefiles/Makefile
erikj
parents:
diff changeset
   199
FRC: