Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 1 | # |
Anthony Scarpino | 946541a | 2017-01-23 11:49:50 -0800 | [diff] [blame] | 2 | # Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| 4 | # |
| 5 | # This code is free software; you can redistribute it and/or modify it |
| 6 | # under the terms of the GNU General Public License version 2 only, as |
| 7 | # published by the Free Software Foundation. Oracle designates this |
| 8 | # particular file as subject to the "Classpath" exception as provided |
| 9 | # by Oracle in the LICENSE file that accompanied this code. |
| 10 | # |
| 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
| 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| 14 | # version 2 for more details (a copy is included in the LICENSE file that |
| 15 | # accompanied this code). |
| 16 | # |
| 17 | # You should have received a copy of the GNU General Public License version |
| 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
| 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| 20 | # |
| 21 | # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| 22 | # or visit www.oracle.com if you need additional information or have any |
| 23 | # questions. |
| 24 | # |
| 25 | |
| 26 | default: all |
| 27 | |
| 28 | include $(SPEC) |
| 29 | include MakeBase.gmk |
Erik Joelsson | 2322723 | 2015-11-24 12:18:24 +0100 | [diff] [blame] | 30 | include Modules.gmk |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 31 | |
| 32 | TOOL_TARGETS := |
Magnus Ihse Bursie | a278a11 | 2015-01-15 15:09:37 +0100 | [diff] [blame] | 33 | JDK_TARGETS := |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 34 | JRE_TARGETS := |
| 35 | |
| 36 | # Hook to include the corresponding custom file, if present. |
| 37 | $(eval $(call IncludeCustomExtension, , Images-pre.gmk)) |
| 38 | |
| 39 | ############################################################################ |
| 40 | |
Mandy Chung | af242aa | 2016-03-23 09:20:41 -0700 | [diff] [blame] | 41 | # All modules for the current target platform. |
| 42 | ALL_MODULES := $(call FindAllModules) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 43 | |
Mandy Chung | af242aa | 2016-03-23 09:20:41 -0700 | [diff] [blame] | 44 | $(eval $(call ReadImportMetaData)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 45 | |
Erik Joelsson | f39d189 | 2016-05-20 10:25:40 +0200 | [diff] [blame] | 46 | JRE_MODULES += $(filter $(ALL_MODULES), $(BOOT_MODULES) \ |
| 47 | $(PLATFORM_MODULES) $(JRE_TOOL_MODULES)) |
| 48 | JDK_MODULES += $(ALL_MODULES) |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 49 | |
Mandy Chung | d8baf9d | 2016-12-14 10:50:31 -0800 | [diff] [blame] | 50 | # Modules list for compact builds |
| 51 | JRE_COMPACT1_MODULES := \ |
| 52 | java.logging \ |
| 53 | java.scripting \ |
| 54 | jdk.localedata \ |
Anthony Scarpino | 946541a | 2017-01-23 11:49:50 -0800 | [diff] [blame] | 55 | jdk.crypto.cryptoki \ |
Mandy Chung | d8baf9d | 2016-12-14 10:50:31 -0800 | [diff] [blame] | 56 | jdk.crypto.ec \ |
| 57 | jdk.unsupported \ |
| 58 | # |
Mandy Chung | af242aa | 2016-03-23 09:20:41 -0700 | [diff] [blame] | 59 | |
Mandy Chung | d8baf9d | 2016-12-14 10:50:31 -0800 | [diff] [blame] | 60 | JRE_COMPACT2_MODULES := \ |
| 61 | $(JRE_COMPACT1_MODULES) \ |
| 62 | java.rmi \ |
| 63 | java.sql \ |
| 64 | java.xml \ |
| 65 | jdk.xml.dom \ |
| 66 | jdk.httpserver \ |
| 67 | # |
| 68 | |
| 69 | JRE_COMPACT3_MODULES := \ |
| 70 | $(JRE_COMPACT2_MODULES) \ |
| 71 | java.smartcardio \ |
| 72 | java.compiler \ |
| 73 | java.instrument \ |
| 74 | java.management \ |
Daniel Fuchs | 6321877 | 2017-02-02 16:50:38 +0000 | [diff] [blame] | 75 | java.management.rmi \ |
Mandy Chung | d8baf9d | 2016-12-14 10:50:31 -0800 | [diff] [blame] | 76 | java.naming \ |
| 77 | java.prefs \ |
| 78 | java.security.jgss \ |
| 79 | java.security.sasl \ |
| 80 | java.sql.rowset \ |
| 81 | java.xml.crypto \ |
| 82 | jdk.management \ |
| 83 | jdk.naming.dns \ |
| 84 | jdk.naming.rmi \ |
| 85 | jdk.sctp \ |
| 86 | jdk.security.auth \ |
| 87 | # |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 88 | |
Claes Redestad | 998971d | 2016-05-07 01:21:08 +0200 | [diff] [blame] | 89 | JRE_MODULES_LIST := $(call CommaList, $(JRE_MODULES)) |
| 90 | JDK_MODULES_LIST := $(call CommaList, $(JDK_MODULES)) |
| 91 | JRE_COMPACT1_MODULES_LIST := $(call CommaList, $(JRE_COMPACT1_MODULES)) |
| 92 | JRE_COMPACT2_MODULES_LIST := $(call CommaList, $(JRE_COMPACT2_MODULES)) |
| 93 | JRE_COMPACT3_MODULES_LIST := $(call CommaList, $(JRE_COMPACT3_MODULES)) |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 94 | |
| 95 | ################################################################################ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 96 | |
| 97 | BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release |
| 98 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 99 | JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 100 | |
| 101 | # Use this file inside the image as target for make rule |
| 102 | JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX) |
| 103 | |
Jim Laskey | ad18ce3 | 2016-06-09 11:12:18 -0300 | [diff] [blame] | 104 | JLINK_ORDER_RESOURCES := **module-info.class |
Claes Redestad | 74e4516 | 2016-08-31 14:20:00 +0200 | [diff] [blame] | 105 | JLINK_JLI_CLASSES := |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 106 | ifeq ($(ENABLE_GENERATE_CLASSLIST), true) |
Erik Joelsson | 38acf59 | 2016-11-07 13:25:18 +0100 | [diff] [blame] | 107 | JLINK_ORDER_RESOURCES += @$(SUPPORT_OUTPUTDIR)/link_opt/classlist |
Claes Redestad | ada23c9 | 2017-02-17 18:12:53 +0100 | [diff] [blame] | 108 | JLINK_JLI_CLASSES := --generate-jli-classes=@$(SUPPORT_OUTPUTDIR)/link_opt/default_jli_trace.txt |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 109 | endif |
| 110 | JLINK_ORDER_RESOURCES += \ |
Jim Laskey | ad18ce3 | 2016-06-09 11:12:18 -0300 | [diff] [blame] | 111 | /java.base/java/** \ |
| 112 | /java.base/jdk/** \ |
| 113 | /java.base/sun/** \ |
| 114 | /java.base/com/** \ |
| 115 | /jdk.localedata/** \ |
Claes Redestad | 0d429ac | 2016-05-12 14:57:48 +0200 | [diff] [blame] | 116 | # |
| 117 | |
Athijegannathan Sundararajan | 3af52f2 | 2016-11-30 19:28:45 +0530 | [diff] [blame] | 118 | JLINK_TOOL := $(JLINK) -J-Djlink.debug=true \ |
| 119 | --module-path $(IMAGES_OUTPUTDIR)/jmods \ |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 120 | --endian $(OPENJDK_BUILD_CPU_ENDIAN) \ |
| 121 | --release-info $(BASE_RELEASE_FILE) \ |
| 122 | --order-resources=$(call CommaList, $(JLINK_ORDER_RESOURCES)) \ |
Mandy Chung | d1dd5b9 | 2016-12-12 18:56:32 -0800 | [diff] [blame] | 123 | --dedup-legal-notices=error-if-not-same-content \ |
Claes Redestad | 74e4516 | 2016-08-31 14:20:00 +0200 | [diff] [blame] | 124 | $(JLINK_JLI_CLASSES) \ |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 125 | # |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 126 | |
Erik Joelsson | 500ce82 | 2016-11-24 11:50:26 +0100 | [diff] [blame] | 127 | JLINK_JRE_EXTRA_OPTS := --no-man-pages --no-header-files --strip-debug |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 128 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 129 | ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true) |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 130 | JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 131 | endif |
| 132 | |
| 133 | $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 134 | $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 135 | $(ECHO) Creating jdk jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 136 | $(RM) -r $(JDK_IMAGE_DIR) |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 137 | $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \ |
Erik Joelsson | 38acf59 | 2016-11-07 13:25:18 +0100 | [diff] [blame] | 138 | $(JLINK_JDK_EXTRA_OPTS) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 139 | --output $(JDK_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 140 | $(TOUCH) $@ |
| 141 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 142 | $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 143 | $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 144 | $(ECHO) Creating jre jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 145 | $(RM) -r $(JRE_IMAGE_DIR) |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 146 | $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \ |
| 147 | $(JLINK_JRE_EXTRA_OPTS) \ |
Erik Joelsson | 38acf59 | 2016-11-07 13:25:18 +0100 | [diff] [blame] | 148 | --output $(JRE_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 149 | $(TOUCH) $@ |
| 150 | |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 151 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 152 | $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 153 | $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 154 | $(ECHO) Creating jre compact1 jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 155 | $(RM) -r $(JRE_COMPACT1_IMAGE_DIR) |
Mandy Chung | c5983e8 | 2016-08-10 15:49:03 -0700 | [diff] [blame] | 156 | $(JLINK_TOOL) --add-modules $(JRE_COMPACT1_MODULES_LIST) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 157 | $(JLINK_JRE_EXTRA_OPTS) \ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 158 | --output $(JRE_COMPACT1_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 159 | $(TOUCH) $@ |
| 160 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 161 | $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 162 | $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 163 | $(ECHO) Creating jre compact2 jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 164 | $(RM) -r $(JRE_COMPACT2_IMAGE_DIR) |
Mandy Chung | c5983e8 | 2016-08-10 15:49:03 -0700 | [diff] [blame] | 165 | $(JLINK_TOOL) --add-modules $(JRE_COMPACT2_MODULES_LIST) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 166 | $(JLINK_JRE_EXTRA_OPTS) \ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 167 | --output $(JRE_COMPACT2_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 168 | $(TOUCH) $@ |
| 169 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 170 | $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 171 | $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 172 | $(ECHO) Creating jre compact3 jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 173 | $(RM) -r $(JRE_COMPACT3_IMAGE_DIR) |
Mandy Chung | c5983e8 | 2016-08-10 15:49:03 -0700 | [diff] [blame] | 174 | $(JLINK_TOOL) --add-modules $(JRE_COMPACT3_MODULES_LIST) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 175 | $(JLINK_JRE_EXTRA_OPTS) \ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 176 | --output $(JRE_COMPACT3_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 177 | $(TOUCH) $@ |
| 178 | |
| 179 | TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 180 | TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 181 | TOOL_JRE_COMPACT1_TARGETS := $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 182 | TOOL_JRE_COMPACT2_TARGETS := $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 183 | TOOL_JRE_COMPACT3_TARGETS := $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 184 | |
| 185 | ################################################################################ |
| 186 | # /man dir |
| 187 | # |
| 188 | # All variables in this section are assigned with simple =, without :, to enable |
| 189 | # more selective overriding from the custom version of this file. |
| 190 | # |
| 191 | # Avoid evaluating this whole section on windows for speed and stability |
| 192 | ifneq ($(OPENJDK_TARGET_OS), windows) |
| 193 | JRE_MAN_PAGES += \ |
| 194 | java.1 \ |
| 195 | jjs.1 \ |
| 196 | keytool.1 \ |
| 197 | orbd.1 \ |
| 198 | pack200.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 199 | rmid.1 \ |
| 200 | rmiregistry.1 \ |
| 201 | servertool.1 \ |
| 202 | tnameserv.1 \ |
| 203 | unpack200.1 |
| 204 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 205 | JDK_MAN_PAGES += \ |
| 206 | $(JRE_MAN_PAGES) \ |
| 207 | appletviewer.1 \ |
| 208 | idlj.1 \ |
| 209 | jar.1 \ |
| 210 | jarsigner.1 \ |
| 211 | javac.1 \ |
| 212 | javadoc.1 \ |
| 213 | javah.1 \ |
| 214 | javap.1 \ |
| 215 | jconsole.1 \ |
| 216 | jcmd.1 \ |
| 217 | jdb.1 \ |
| 218 | jdeps.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 219 | jinfo.1 \ |
| 220 | jmap.1 \ |
| 221 | jps.1 \ |
| 222 | jrunscript.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 223 | jstack.1 \ |
| 224 | jstat.1 \ |
| 225 | jstatd.1 \ |
Weijun Wang | 351ed3d | 2015-02-13 11:03:13 +0800 | [diff] [blame] | 226 | policytool.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 227 | rmic.1 \ |
| 228 | schemagen.1 \ |
| 229 | serialver.1 \ |
| 230 | wsgen.1 \ |
| 231 | wsimport.1 \ |
| 232 | xjc.1 |
| 233 | |
| 234 | # This variable is potentially overridden in the closed makefile. |
Erik Joelsson | 72c4ec5 | 2017-09-12 19:03:56 +0200 | [diff] [blame] | 235 | MAN_SRC_BASEDIR ?= $(TOPDIR)/src |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 236 | |
| 237 | ifeq ($(OPENJDK_TARGET_OS), linux) |
| 238 | MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc |
| 239 | MAN1_SUBDIR = man |
| 240 | endif |
| 241 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 242 | MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc |
| 243 | MAN1_SUBDIR = sun/man/man1 |
| 244 | endif |
| 245 | ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 246 | MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc |
| 247 | MAN1_SUBDIR = man |
| 248 | endif |
| 249 | |
| 250 | $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 251 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 252 | $(install-file) |
| 253 | |
| 254 | $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 255 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 256 | $(install-file) |
| 257 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 258 | $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 259 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Magnus Ihse Bursie | 968a4d3 | 2015-05-06 10:26:10 +0200 | [diff] [blame] | 260 | $(install-file) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 261 | |
| 262 | $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 263 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Magnus Ihse Bursie | 968a4d3 | 2015-05-06 10:26:10 +0200 | [diff] [blame] | 264 | $(install-file) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 265 | |
| 266 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 267 | $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 268 | $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 269 | $(install-file) |
| 270 | |
| 271 | $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 272 | $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 273 | $(install-file) |
| 274 | endif |
| 275 | |
| 276 | ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) |
| 277 | $(JRE_IMAGE_DIR)/man/ja: |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 278 | $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 279 | $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja |
| 280 | |
| 281 | $(JDK_IMAGE_DIR)/man/ja: |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 282 | $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 283 | $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja |
| 284 | endif |
| 285 | |
| 286 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 287 | JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ |
| 288 | $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \ |
| 289 | $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ |
| 290 | $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES)) |
| 291 | |
| 292 | JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ |
| 293 | $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \ |
| 294 | $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ |
| 295 | $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES)) |
| 296 | endif |
| 297 | |
| 298 | ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) |
| 299 | JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ |
| 300 | $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ |
| 301 | $(JRE_IMAGE_DIR)/man/ja |
| 302 | |
| 303 | JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ |
| 304 | $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ |
| 305 | $(JDK_IMAGE_DIR)/man/ja |
| 306 | endif |
| 307 | |
| 308 | JRE_TARGETS += $(JRE_MAN_PAGE_LIST) |
| 309 | JDK_TARGETS += $(JDK_MAN_PAGE_LIST) |
| 310 | endif # Windows |
| 311 | |
| 312 | ################################################################################ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 313 | # src.zip |
| 314 | |
Mandy Chung | 0043906 | 2016-11-29 15:20:30 -0800 | [diff] [blame] | 315 | $(JDK_IMAGE_DIR)/lib/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 316 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 317 | $(install-file) |
| 318 | |
Mandy Chung | 0043906 | 2016-11-29 15:20:30 -0800 | [diff] [blame] | 319 | JDK_TARGETS += $(JDK_IMAGE_DIR)/lib/src.zip |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 320 | |
| 321 | ################################################################################ |
| 322 | # /demo dir |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 323 | # Avoid doing the expensive find unless called with "jdk" as target. |
| 324 | ifneq ($(filter jdk, $(MAKECMDGOALS)), ) |
| 325 | |
| 326 | DEMO_FILES := \ |
| 327 | $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \ |
Erik Joelsson | 29556ba | 2016-11-07 14:15:49 +0100 | [diff] [blame] | 328 | $(call DoubleDollar, \ |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 329 | $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \ |
Erik Joelsson | 29556ba | 2016-11-07 14:15:49 +0100 | [diff] [blame] | 330 | -type f -a ! \( -name "_the*" -o -name "javac_state" \) )) \ |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 331 | ) |
| 332 | |
| 333 | ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true) |
| 334 | ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 335 | DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES)) |
| 336 | else |
| 337 | DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES)) |
| 338 | endif |
| 339 | endif |
| 340 | |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 341 | $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \ |
| 342 | SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \ |
| 343 | DEST := $(JDK_IMAGE_DIR)/demo, \ |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 344 | FILES := $(DEMO_FILES), \ |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 345 | )) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 346 | |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 347 | JDK_TARGETS += $(JDK_COPY_DEMOS) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 348 | endif |
| 349 | |
| 350 | ################################################################################ |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 351 | # Code coverage data files |
| 352 | |
| 353 | ifeq ($(GCOV_ENABLED), true) |
| 354 | |
| 355 | GCOV_FIND_EXPR := -type f -name "*.gcno" |
| 356 | |
Erik Joelsson | 207dec2 | 2015-03-17 14:16:30 +0100 | [diff] [blame] | 357 | $(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \ |
| 358 | SRC := $(OUTPUT_ROOT), \ |
| 359 | DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ |
| 360 | FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR)))) |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 361 | |
Erik Joelsson | 207dec2 | 2015-03-17 14:16:30 +0100 | [diff] [blame] | 362 | SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO) |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 363 | |
| 364 | $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \ |
Erik Joelsson | 207dec2 | 2015-03-17 14:16:30 +0100 | [diff] [blame] | 365 | SRC := $(OUTPUT_ROOT), \ |
| 366 | DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 367 | FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR)))) |
| 368 | |
| 369 | SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO) |
| 370 | |
| 371 | endif |
| 372 | |
| 373 | ################################################################################ |
Erik Joelsson | 8a708bd | 2016-04-28 17:33:49 +0200 | [diff] [blame] | 374 | # Debug symbols |
| 375 | # Since debug symbols are not included in the jmod files, they need to be copied |
| 376 | # in manually after generating the images. |
| 377 | |
| 378 | ALL_JDK_MODULES := $(JDK_MODULES) |
| 379 | ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \ |
| 380 | $(call FindTransitiveDepsForModule, $m))) |
| 381 | |
| 382 | ifeq ($(OPENJDK_TARGET_OS), windows) |
| 383 | LIBS_TARGET_SUBDIR := bin |
| 384 | else |
| 385 | LIBS_TARGET_SUBDIR := lib |
| 386 | endif |
| 387 | |
Erik Joelsson | 8a708bd | 2016-04-28 17:33:49 +0200 | [diff] [blame] | 388 | # Param 1 - dir to find debuginfo files in |
| 389 | FindDebuginfoFiles = \ |
| 390 | $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \ |
| 391 | $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \ |
| 392 | $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES))) |
| 393 | |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 394 | # Pick the correct debug info files to copy, either zipped or not. |
| 395 | ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true) |
| 396 | DEBUGINFO_SUFFIXES += .diz |
| 397 | else |
| 398 | DEBUGINFO_SUFFIXES := .debuginfo .pdb .map |
| 399 | # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM |
| 400 | # dirs. |
| 401 | ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 402 | $(eval $(call FillCacheFind, \ |
| 403 | $(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)) |
| 404 | FindDebuginfoFiles = \ |
| 405 | $(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1))) |
| 406 | endif |
Erik Joelsson | 8a708bd | 2016-04-28 17:33:49 +0200 | [diff] [blame] | 407 | endif |
| 408 | |
| 409 | # Param 1 - either JDK or JRE |
| 410 | SetupCopyDebuginfo = \ |
| 411 | $(foreach m, $(ALL_$1_MODULES), \ |
| 412 | $(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \ |
| 413 | SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \ |
| 414 | DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \ |
| 415 | FILES := $(call FindDebuginfoFiles, \ |
| 416 | $(SUPPORT_OUTPUTDIR)/modules_libs/$m), \ |
| 417 | )) \ |
| 418 | $(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \ |
| 419 | ) |
| 420 | |
| 421 | # No space before argument to avoid having to put $(strip ) everywhere in |
| 422 | # implementation above. |
| 423 | $(call SetupCopyDebuginfo,JDK) |
| 424 | $(call SetupCopyDebuginfo,JRE) |
| 425 | |
| 426 | ################################################################################ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 427 | |
| 428 | # Include custom post hook here to make it possible to augment the target lists |
| 429 | # before actual target prerequisites are declared. |
| 430 | $(eval $(call IncludeCustomExtension, , Images-post.gmk)) |
| 431 | |
| 432 | ################################################################################ |
| 433 | |
| 434 | $(JRE_TARGETS): $(TOOL_JRE_TARGETS) |
| 435 | $(JDK_TARGETS): $(TOOL_JDK_TARGETS) |
| 436 | |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 437 | jdk: $(JDK_TARGETS) |
| 438 | jre: $(JRE_TARGETS) |
| 439 | symbols: $(SYMBOLS_TARGETS) |
| 440 | |
| 441 | all: jdk jre symbols |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 442 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 443 | $(JRE_COMPACT1_TARGETS): $(TOOL_JRE_COMPACT1_TARGETS) |
| 444 | $(JRE_COMPACT2_TARGETS): $(TOOL_JRE_COMPACT2_TARGETS) |
| 445 | $(JRE_COMPACT3_TARGETS): $(TOOL_JRE_COMPACT3_TARGETS) |
| 446 | |
| 447 | profiles: $(TOOL_JRE_COMPACT1_TARGETS) \ |
| 448 | $(TOOL_JRE_COMPACT2_TARGETS) \ |
| 449 | $(TOOL_JRE_COMPACT3_TARGETS) \ |
| 450 | $(JRE_COMPACT1_TARGETS) \ |
| 451 | $(JRE_COMPACT2_TARGETS) \ |
| 452 | $(JRE_COMPACT3_TARGETS) |
| 453 | |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 454 | .PHONY: default all jdk jre symbols profiles |