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 \ |
| 75 | java.naming \ |
| 76 | java.prefs \ |
| 77 | java.security.jgss \ |
| 78 | java.security.sasl \ |
| 79 | java.sql.rowset \ |
| 80 | java.xml.crypto \ |
| 81 | jdk.management \ |
| 82 | jdk.naming.dns \ |
| 83 | jdk.naming.rmi \ |
| 84 | jdk.sctp \ |
| 85 | jdk.security.auth \ |
| 86 | # |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 87 | |
Claes Redestad | 998971d | 2016-05-07 01:21:08 +0200 | [diff] [blame] | 88 | JRE_MODULES_LIST := $(call CommaList, $(JRE_MODULES)) |
| 89 | JDK_MODULES_LIST := $(call CommaList, $(JDK_MODULES)) |
| 90 | JRE_COMPACT1_MODULES_LIST := $(call CommaList, $(JRE_COMPACT1_MODULES)) |
| 91 | JRE_COMPACT2_MODULES_LIST := $(call CommaList, $(JRE_COMPACT2_MODULES)) |
| 92 | JRE_COMPACT3_MODULES_LIST := $(call CommaList, $(JRE_COMPACT3_MODULES)) |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 93 | |
| 94 | ################################################################################ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 95 | |
| 96 | BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release |
| 97 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 98 | JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 99 | |
| 100 | # Use this file inside the image as target for make rule |
| 101 | JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX) |
| 102 | |
Jim Laskey | ad18ce3 | 2016-06-09 11:12:18 -0300 | [diff] [blame] | 103 | JLINK_ORDER_RESOURCES := **module-info.class |
Claes Redestad | 74e4516 | 2016-08-31 14:20:00 +0200 | [diff] [blame] | 104 | JLINK_JLI_CLASSES := |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 105 | ifeq ($(ENABLE_GENERATE_CLASSLIST), true) |
Erik Joelsson | 38acf59 | 2016-11-07 13:25:18 +0100 | [diff] [blame] | 106 | JLINK_ORDER_RESOURCES += @$(SUPPORT_OUTPUTDIR)/link_opt/classlist |
| 107 | JLINK_JLI_CLASSES := --generate-jli-classes=@$(SUPPORT_OUTPUTDIR)/link_opt/jli_trace.out |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 108 | endif |
| 109 | JLINK_ORDER_RESOURCES += \ |
Jim Laskey | ad18ce3 | 2016-06-09 11:12:18 -0300 | [diff] [blame] | 110 | /java.base/java/** \ |
| 111 | /java.base/jdk/** \ |
| 112 | /java.base/sun/** \ |
| 113 | /java.base/com/** \ |
| 114 | /jdk.localedata/** \ |
Claes Redestad | 0d429ac | 2016-05-12 14:57:48 +0200 | [diff] [blame] | 115 | # |
| 116 | |
Athijegannathan Sundararajan | 3af52f2 | 2016-11-30 19:28:45 +0530 | [diff] [blame] | 117 | JLINK_TOOL := $(JLINK) -J-Djlink.debug=true \ |
| 118 | --module-path $(IMAGES_OUTPUTDIR)/jmods \ |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 119 | --endian $(OPENJDK_BUILD_CPU_ENDIAN) \ |
| 120 | --release-info $(BASE_RELEASE_FILE) \ |
| 121 | --order-resources=$(call CommaList, $(JLINK_ORDER_RESOURCES)) \ |
Mandy Chung | d1dd5b9 | 2016-12-12 18:56:32 -0800 | [diff] [blame] | 122 | --dedup-legal-notices=error-if-not-same-content \ |
Claes Redestad | 74e4516 | 2016-08-31 14:20:00 +0200 | [diff] [blame] | 123 | $(JLINK_JLI_CLASSES) \ |
Erik Joelsson | 825cbcc | 2016-05-25 12:53:26 +0200 | [diff] [blame] | 124 | # |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 125 | |
Erik Joelsson | 500ce82 | 2016-11-24 11:50:26 +0100 | [diff] [blame] | 126 | JLINK_JRE_EXTRA_OPTS := --no-man-pages --no-header-files --strip-debug |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 127 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 128 | ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true) |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 129 | JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 130 | endif |
| 131 | |
| 132 | $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 133 | $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 134 | $(ECHO) Creating jdk jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 135 | $(RM) -r $(JDK_IMAGE_DIR) |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 136 | $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \ |
Erik Joelsson | 38acf59 | 2016-11-07 13:25:18 +0100 | [diff] [blame] | 137 | $(JLINK_JDK_EXTRA_OPTS) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 138 | --output $(JDK_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 139 | $(TOUCH) $@ |
| 140 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 141 | $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 142 | $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 143 | $(ECHO) Creating jre jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 144 | $(RM) -r $(JRE_IMAGE_DIR) |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 145 | $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \ |
| 146 | $(JLINK_JRE_EXTRA_OPTS) \ |
Erik Joelsson | 38acf59 | 2016-11-07 13:25:18 +0100 | [diff] [blame] | 147 | --output $(JRE_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 148 | $(TOUCH) $@ |
| 149 | |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 150 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 151 | $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 152 | $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 153 | $(ECHO) Creating jre compact1 jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 154 | $(RM) -r $(JRE_COMPACT1_IMAGE_DIR) |
Mandy Chung | c5983e8 | 2016-08-10 15:49:03 -0700 | [diff] [blame] | 155 | $(JLINK_TOOL) --add-modules $(JRE_COMPACT1_MODULES_LIST) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 156 | $(JLINK_JRE_EXTRA_OPTS) \ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 157 | --output $(JRE_COMPACT1_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 158 | $(TOUCH) $@ |
| 159 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 160 | $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 161 | $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 162 | $(ECHO) Creating jre compact2 jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 163 | $(RM) -r $(JRE_COMPACT2_IMAGE_DIR) |
Mandy Chung | c5983e8 | 2016-08-10 15:49:03 -0700 | [diff] [blame] | 164 | $(JLINK_TOOL) --add-modules $(JRE_COMPACT2_MODULES_LIST) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 165 | $(JLINK_JRE_EXTRA_OPTS) \ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 166 | --output $(JRE_COMPACT2_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 167 | $(TOUCH) $@ |
| 168 | |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 169 | $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ |
| 170 | $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST) $(BASE_RELEASE_FILE) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 171 | $(ECHO) Creating jre compact3 jimage |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 172 | $(RM) -r $(JRE_COMPACT3_IMAGE_DIR) |
Mandy Chung | c5983e8 | 2016-08-10 15:49:03 -0700 | [diff] [blame] | 173 | $(JLINK_TOOL) --add-modules $(JRE_COMPACT3_MODULES_LIST) \ |
Mandy Chung | 9645d4b | 2016-10-18 13:26:54 -0700 | [diff] [blame] | 174 | $(JLINK_JRE_EXTRA_OPTS) \ |
Alan Bateman | cc661dd | 2016-03-17 19:03:53 +0000 | [diff] [blame] | 175 | --output $(JRE_COMPACT3_IMAGE_DIR) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 176 | $(TOUCH) $@ |
| 177 | |
| 178 | TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 179 | TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 180 | TOOL_JRE_COMPACT1_TARGETS := $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 181 | TOOL_JRE_COMPACT2_TARGETS := $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 182 | TOOL_JRE_COMPACT3_TARGETS := $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) |
| 183 | |
| 184 | ################################################################################ |
| 185 | # /man dir |
| 186 | # |
| 187 | # All variables in this section are assigned with simple =, without :, to enable |
| 188 | # more selective overriding from the custom version of this file. |
| 189 | # |
| 190 | # Avoid evaluating this whole section on windows for speed and stability |
| 191 | ifneq ($(OPENJDK_TARGET_OS), windows) |
| 192 | JRE_MAN_PAGES += \ |
| 193 | java.1 \ |
| 194 | jjs.1 \ |
| 195 | keytool.1 \ |
| 196 | orbd.1 \ |
| 197 | pack200.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 198 | rmid.1 \ |
| 199 | rmiregistry.1 \ |
| 200 | servertool.1 \ |
| 201 | tnameserv.1 \ |
| 202 | unpack200.1 |
| 203 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 204 | JDK_MAN_PAGES += \ |
| 205 | $(JRE_MAN_PAGES) \ |
| 206 | appletviewer.1 \ |
| 207 | idlj.1 \ |
| 208 | jar.1 \ |
| 209 | jarsigner.1 \ |
| 210 | javac.1 \ |
| 211 | javadoc.1 \ |
| 212 | javah.1 \ |
| 213 | javap.1 \ |
| 214 | jconsole.1 \ |
| 215 | jcmd.1 \ |
| 216 | jdb.1 \ |
| 217 | jdeps.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 218 | jinfo.1 \ |
| 219 | jmap.1 \ |
| 220 | jps.1 \ |
| 221 | jrunscript.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 222 | jstack.1 \ |
| 223 | jstat.1 \ |
| 224 | jstatd.1 \ |
Weijun Wang | 351ed3d | 2015-02-13 11:03:13 +0800 | [diff] [blame] | 225 | policytool.1 \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 226 | rmic.1 \ |
| 227 | schemagen.1 \ |
| 228 | serialver.1 \ |
| 229 | wsgen.1 \ |
| 230 | wsimport.1 \ |
| 231 | xjc.1 |
| 232 | |
| 233 | # This variable is potentially overridden in the closed makefile. |
| 234 | MAN_SRC_BASEDIR ?= $(JDK_TOPDIR)/src |
| 235 | |
| 236 | ifeq ($(OPENJDK_TARGET_OS), linux) |
| 237 | MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc |
| 238 | MAN1_SUBDIR = man |
| 239 | endif |
| 240 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 241 | MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc |
| 242 | MAN1_SUBDIR = sun/man/man1 |
| 243 | endif |
| 244 | ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 245 | MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc |
| 246 | MAN1_SUBDIR = man |
| 247 | endif |
| 248 | |
| 249 | $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 250 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 251 | $(install-file) |
| 252 | |
| 253 | $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 254 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 255 | $(install-file) |
| 256 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 257 | $(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] | 258 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Magnus Ihse Bursie | 968a4d3 | 2015-05-06 10:26:10 +0200 | [diff] [blame] | 259 | $(install-file) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 260 | |
| 261 | $(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] | 262 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Magnus Ihse Bursie | 968a4d3 | 2015-05-06 10:26:10 +0200 | [diff] [blame] | 263 | $(install-file) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 264 | |
| 265 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 266 | $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 267 | $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 268 | $(install-file) |
| 269 | |
| 270 | $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 271 | $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 272 | $(install-file) |
| 273 | endif |
| 274 | |
| 275 | ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) |
| 276 | $(JRE_IMAGE_DIR)/man/ja: |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 277 | $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 278 | $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja |
| 279 | |
| 280 | $(JDK_IMAGE_DIR)/man/ja: |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 281 | $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 282 | $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja |
| 283 | endif |
| 284 | |
| 285 | ifeq ($(OPENJDK_TARGET_OS), solaris) |
| 286 | JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ |
| 287 | $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \ |
| 288 | $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ |
| 289 | $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES)) |
| 290 | |
| 291 | JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ |
| 292 | $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \ |
| 293 | $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ |
| 294 | $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES)) |
| 295 | endif |
| 296 | |
| 297 | ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) |
| 298 | JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ |
| 299 | $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ |
| 300 | $(JRE_IMAGE_DIR)/man/ja |
| 301 | |
| 302 | JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ |
| 303 | $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ |
| 304 | $(JDK_IMAGE_DIR)/man/ja |
| 305 | endif |
| 306 | |
| 307 | JRE_TARGETS += $(JRE_MAN_PAGE_LIST) |
| 308 | JDK_TARGETS += $(JDK_MAN_PAGE_LIST) |
| 309 | endif # Windows |
| 310 | |
| 311 | ################################################################################ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 312 | # doc files |
| 313 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 314 | JRE_DOC_LOCATION ?= $(JDK_TOPDIR) |
| 315 | JDK_DOC_LOCATION ?= $(JDK_TOPDIR) |
| 316 | |
| 317 | JRE_DOC_TARGETS := $(addprefix $(JRE_IMAGE_DIR)/, $(JRE_DOC_FILES)) |
| 318 | JDK_DOC_TARGETS := $(addprefix $(JDK_IMAGE_DIR)/, $(JDK_DOC_FILES)) |
| 319 | |
| 320 | # Processing license files from source area to image area |
| 321 | # These are modified to have the platform specific EOL chars. |
| 322 | define process-doc-file |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 323 | $(call LogInfo, Processing $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 324 | $(MKDIR) -p $(@D) |
| 325 | $(RM) $@ |
| 326 | LC_ALL=C $(SED) 's/$$//g' $< > $@ |
| 327 | $(CHMOD) 444 $@ |
| 328 | endef |
| 329 | |
| 330 | $(JRE_IMAGE_DIR)/%: $(JRE_DOC_LOCATION)/% |
| 331 | $(process-doc-file) |
| 332 | |
| 333 | $(JDK_IMAGE_DIR)/%: $(JDK_DOC_LOCATION)/% |
| 334 | $(process-doc-file) |
| 335 | |
| 336 | JRE_TARGETS += $(JRE_DOC_TARGETS) |
| 337 | JDK_TARGETS += $(JDK_DOC_TARGETS) |
| 338 | |
| 339 | ################################################################################ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 340 | # src.zip |
| 341 | |
Mandy Chung | 0043906 | 2016-11-29 15:20:30 -0800 | [diff] [blame] | 342 | $(JDK_IMAGE_DIR)/lib/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 343 | $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 344 | $(install-file) |
| 345 | |
Mandy Chung | 0043906 | 2016-11-29 15:20:30 -0800 | [diff] [blame] | 346 | JDK_TARGETS += $(JDK_IMAGE_DIR)/lib/src.zip |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 347 | |
| 348 | ################################################################################ |
| 349 | # /demo dir |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 350 | # Avoid doing the expensive find unless called with "jdk" as target. |
| 351 | ifneq ($(filter jdk, $(MAKECMDGOALS)), ) |
| 352 | |
| 353 | DEMO_FILES := \ |
| 354 | $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \ |
Erik Joelsson | 29556ba | 2016-11-07 14:15:49 +0100 | [diff] [blame] | 355 | $(call DoubleDollar, \ |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 356 | $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \ |
Erik Joelsson | 29556ba | 2016-11-07 14:15:49 +0100 | [diff] [blame] | 357 | -type f -a ! \( -name "_the*" -o -name "javac_state" \) )) \ |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 358 | ) |
| 359 | |
| 360 | ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true) |
| 361 | ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 362 | DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES)) |
| 363 | else |
| 364 | DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES)) |
| 365 | endif |
| 366 | endif |
| 367 | |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 368 | $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \ |
| 369 | SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \ |
| 370 | DEST := $(JDK_IMAGE_DIR)/demo, \ |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 371 | FILES := $(DEMO_FILES), \ |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 372 | )) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 373 | |
Erik Joelsson | 8c55662 | 2016-01-16 13:01:43 +0100 | [diff] [blame] | 374 | JDK_TARGETS += $(JDK_COPY_DEMOS) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 375 | endif |
| 376 | |
| 377 | ################################################################################ |
| 378 | # /sample dir |
| 379 | |
Magnus Ihse Bursie | 3e6227e | 2016-10-11 09:49:31 +0200 | [diff] [blame] | 380 | $(eval $(call SetupCopyFiles, COPY_SAMPLES, \ |
Erik Joelsson | b94a868 | 2015-06-04 18:27:42 +0200 | [diff] [blame] | 381 | SRC := $(SUPPORT_OUTPUTDIR)/sample/image, \ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 382 | DEST := $(JDK_IMAGE_DIR)/sample, \ |
Erik Joelsson | b94a868 | 2015-06-04 18:27:42 +0200 | [diff] [blame] | 383 | FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample/image), \ |
| 384 | $(call CacheFind,$(SUPPORT_OUTPUTDIR)/sample/image)))) |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 385 | |
| 386 | JDK_TARGETS += $(COPY_SAMPLES) |
| 387 | |
| 388 | ################################################################################ |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 389 | # Code coverage data files |
| 390 | |
| 391 | ifeq ($(GCOV_ENABLED), true) |
| 392 | |
| 393 | GCOV_FIND_EXPR := -type f -name "*.gcno" |
| 394 | |
Erik Joelsson | 207dec2 | 2015-03-17 14:16:30 +0100 | [diff] [blame] | 395 | $(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \ |
| 396 | SRC := $(OUTPUT_ROOT), \ |
| 397 | DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ |
| 398 | FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR)))) |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 399 | |
Erik Joelsson | 207dec2 | 2015-03-17 14:16:30 +0100 | [diff] [blame] | 400 | SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO) |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 401 | |
| 402 | $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \ |
Erik Joelsson | 207dec2 | 2015-03-17 14:16:30 +0100 | [diff] [blame] | 403 | SRC := $(OUTPUT_ROOT), \ |
| 404 | DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ |
Erik Joelsson | 09dbe04 | 2015-03-10 14:36:56 +0100 | [diff] [blame] | 405 | FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR)))) |
| 406 | |
| 407 | SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO) |
| 408 | |
| 409 | endif |
| 410 | |
| 411 | ################################################################################ |
Erik Joelsson | 8a708bd | 2016-04-28 17:33:49 +0200 | [diff] [blame] | 412 | # Debug symbols |
| 413 | # Since debug symbols are not included in the jmod files, they need to be copied |
| 414 | # in manually after generating the images. |
| 415 | |
| 416 | ALL_JDK_MODULES := $(JDK_MODULES) |
| 417 | ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \ |
| 418 | $(call FindTransitiveDepsForModule, $m))) |
| 419 | |
| 420 | ifeq ($(OPENJDK_TARGET_OS), windows) |
| 421 | LIBS_TARGET_SUBDIR := bin |
| 422 | else |
| 423 | LIBS_TARGET_SUBDIR := lib |
| 424 | endif |
| 425 | |
Erik Joelsson | 8a708bd | 2016-04-28 17:33:49 +0200 | [diff] [blame] | 426 | # Param 1 - dir to find debuginfo files in |
| 427 | FindDebuginfoFiles = \ |
| 428 | $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \ |
| 429 | $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \ |
| 430 | $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES))) |
| 431 | |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 432 | # Pick the correct debug info files to copy, either zipped or not. |
| 433 | ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true) |
| 434 | DEBUGINFO_SUFFIXES += .diz |
| 435 | else |
| 436 | DEBUGINFO_SUFFIXES := .debuginfo .pdb .map |
| 437 | # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM |
| 438 | # dirs. |
| 439 | ifeq ($(OPENJDK_TARGET_OS), macosx) |
| 440 | $(eval $(call FillCacheFind, \ |
| 441 | $(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)) |
| 442 | FindDebuginfoFiles = \ |
| 443 | $(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1))) |
| 444 | endif |
Erik Joelsson | 8a708bd | 2016-04-28 17:33:49 +0200 | [diff] [blame] | 445 | endif |
| 446 | |
| 447 | # Param 1 - either JDK or JRE |
| 448 | SetupCopyDebuginfo = \ |
| 449 | $(foreach m, $(ALL_$1_MODULES), \ |
| 450 | $(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \ |
| 451 | SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \ |
| 452 | DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \ |
| 453 | FILES := $(call FindDebuginfoFiles, \ |
| 454 | $(SUPPORT_OUTPUTDIR)/modules_libs/$m), \ |
| 455 | )) \ |
| 456 | $(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \ |
| 457 | ) |
| 458 | |
| 459 | # No space before argument to avoid having to put $(strip ) everywhere in |
| 460 | # implementation above. |
| 461 | $(call SetupCopyDebuginfo,JDK) |
| 462 | $(call SetupCopyDebuginfo,JRE) |
| 463 | |
| 464 | ################################################################################ |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 465 | |
| 466 | # Include custom post hook here to make it possible to augment the target lists |
| 467 | # before actual target prerequisites are declared. |
| 468 | $(eval $(call IncludeCustomExtension, , Images-post.gmk)) |
| 469 | |
| 470 | ################################################################################ |
| 471 | |
| 472 | $(JRE_TARGETS): $(TOOL_JRE_TARGETS) |
| 473 | $(JDK_TARGETS): $(TOOL_JDK_TARGETS) |
| 474 | |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 475 | jdk: $(JDK_TARGETS) |
| 476 | jre: $(JRE_TARGETS) |
| 477 | symbols: $(SYMBOLS_TARGETS) |
| 478 | |
| 479 | all: jdk jre symbols |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 480 | |
Chris Hegarty | b26d39f | 2014-12-03 14:20:21 +0000 | [diff] [blame] | 481 | $(JRE_COMPACT1_TARGETS): $(TOOL_JRE_COMPACT1_TARGETS) |
| 482 | $(JRE_COMPACT2_TARGETS): $(TOOL_JRE_COMPACT2_TARGETS) |
| 483 | $(JRE_COMPACT3_TARGETS): $(TOOL_JRE_COMPACT3_TARGETS) |
| 484 | |
| 485 | profiles: $(TOOL_JRE_COMPACT1_TARGETS) \ |
| 486 | $(TOOL_JRE_COMPACT2_TARGETS) \ |
| 487 | $(TOOL_JRE_COMPACT3_TARGETS) \ |
| 488 | $(JRE_COMPACT1_TARGETS) \ |
| 489 | $(JRE_COMPACT2_TARGETS) \ |
| 490 | $(JRE_COMPACT3_TARGETS) |
| 491 | |
Erik Joelsson | a350f3b | 2016-10-05 10:49:21 +0200 | [diff] [blame] | 492 | .PHONY: default all jdk jre symbols profiles |