Images.gmk revision 1961:f900d5afd9c8
1193583Szec# 2193583Szec# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. 3193583Szec# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4193583Szec# 5193583Szec# This code is free software; you can redistribute it and/or modify it 6193583Szec# under the terms of the GNU General Public License version 2 only, as 7193583Szec# published by the Free Software Foundation. Oracle designates this 8193583Szec# particular file as subject to the "Classpath" exception as provided 9193583Szec# by Oracle in the LICENSE file that accompanied this code. 10193583Szec# 11193583Szec# This code is distributed in the hope that it will be useful, but WITHOUT 12193583Szec# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13193583Szec# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14193583Szec# version 2 for more details (a copy is included in the LICENSE file that 15193583Szec# accompanied this code). 16193583Szec# 17193583Szec# You should have received a copy of the GNU General Public License version 18193583Szec# 2 along with this work; if not, write to the Free Software Foundation, 19193583Szec# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20193583Szec# 21193583Szec# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22193583Szec# or visit www.oracle.com if you need additional information or have any 23193583Szec# questions. 24193583Szec# 25193583Szec 26193583Szecdefault: all 27193583Szec 28193583Szecinclude $(SPEC) 29193583Szecinclude MakeBase.gmk 30195741Sjamieinclude Modules.gmk 31193583Szec 32195741SjamieTOOL_TARGETS := 33193583SzecJDK_TARGETS := 34193583SzecJRE_TARGETS := 35195741Sjamie 36195741Sjamie# Hook to include the corresponding custom file, if present. 37196409Szec$(eval $(call IncludeCustomExtension, , Images-pre.gmk)) 38195741Sjamie 39193583Szec############################################################################ 40193583Szec 41193583SzecMAIN_MODULES += java.se.ee java.smartcardio jdk.httpserver jdk.sctp \ 42193583Szec jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \ 43193583Szec jdk.accessibility jdk.internal.le jdk.dynalink \ 44196409Szec jdk.scripting.nashorn jdk.scripting.nashorn.shell \ 45196409Szec jdk.vm.ci jdk.management jdk.jsobject 46196409Szec 47196409Szec# providers 48196409SzecPROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.jvmstat.rmi \ 49196409Szec jdk.localedata jdk.naming.dns jdk.naming.rmi jdk.zipfs 50196409Szec 51196409Szec# tools 52193583SzecTOOLS_MODULES += jdk.attach jdk.compiler \ 53196409Szec jdk.javadoc jdk.jcmd jdk.jconsole jdk.hotspot.agent jdk.jartool \ 54196409Szec jdk.jdeps jdk.jdi jdk.jdwp.agent jdk.jlink jdk.jshell \ 55196409Szec jdk.policytool jdk.rmic jdk.xml.bind jdk.xml.ws jdk.internal.opt 56196409Szec 57196409Szecifeq ($(OPENJDK_TARGET_OS), windows) 58196409Szec PROVIDER_MODULES += jdk.crypto.mscapi 59196409Szecendif 60196409Szec 61196409Szecifeq ($(OPENJDK_TARGET_OS), solaris) 62196409Szec PROVIDER_MODULES += jdk.crypto.ucrypto 63196409Szecendif 64196409Szec 65196409SzecJRE_MODULES := $(filter-out $(MODULES_FILTER), $(MAIN_MODULES) $(PROVIDER_MODULES)) 66196409SzecJDK_MODULES := $(filter-out $(MODULES_FILTER), $(JRE_MODULES) $(TOOLS_MODULES)) 67196409Szec 68193583Szec# Param 1 - Name of module 69196409Szecdefine ReadImportMetaData 70196409Szec ifneq ($$(wildcard $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties), ) 71196409Szec include_in_jre := 72196409Szec include_in_jdk := 73196409Szec include $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties 74196409Szec ifeq ($$(include_in_jre), true) 75196409Szec JRE_MODULES += $1 76196409Szec endif 77196409Szec ifeq ($$(include_in_jdk), true) 78196409Szec JDK_MODULES += $1 79196409Szec endif 80196409Szec else 81196409Szec # Default to include in all 82196409Szec JRE_MODULES += $1 83196409Szec JDK_MODULES += $1 84196409Szec endif 85196409Szecendef 86196409Szec 87196409SzecIMPORTED_MODULES := $(call FindImportedModules) 88196409Szec$(foreach m, $(IMPORTED_MODULES), $(eval $(call ReadImportMetaData, $m))) 89196409Szec 90193583Szec# Compact builds have additional modules 91193583SzecCOMPACT_EXTRA_MODULES := jdk.localedata jdk.crypto.pkcs11 jdk.crypto.ec 92193583SzecJRE_COMPACT1_MODULES := $(COMPACT_EXTRA_MODULES) java.compact1 93196409SzecJRE_COMPACT2_MODULES := $(JRE_COMPACT1_MODULES) java.compact2 jdk.xml.dom jdk.httpserver 94196409SzecJRE_COMPACT3_MODULES := $(JRE_COMPACT2_MODULES) java.compact3 java.smartcardio jdk.management \ 95195741Sjamie jdk.naming.dns jdk.naming.rmi jdk.sctp jdk.security.auth 96196409Szec 97196409Szec# Replacing double-comma with a single comma is to workaround the issue 98196409Szec# with some version of make on windows that doesn't substitute spaces 99196409Szec# with one comma properly as with make 4.0 100196409SzecSubstComma = \ 101196409Szec $(strip \ 102196409Szec $(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) \ 103196409Szec ) 104193583Szec 105196409SzecJRE_MODULES_LIST := $(call SubstComma, $(JRE_MODULES)) 106193583SzecJDK_MODULES_LIST := $(call SubstComma, $(JDK_MODULES)) 107196409SzecJRE_COMPACT1_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT1_MODULES)) 108196409SzecJRE_COMPACT2_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT2_MODULES)) 109196409SzecJRE_COMPACT3_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT3_MODULES)) 110196409Szec 111196409Szec################################################################################ 112196409Szec# Release file 113196409Szec 114196409SzecBASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release 115196409Szec 116196409Szec# Common way to emit a line into the release or info file 117196409Szecdefine info-file-item # name value 118196409Szec $(PRINTF) '%s="%s"\n' $1 $2 >> $@ 119196409Szecendef 120196409Szec 121196409Szec# Param 1 - The file containing the MODULES list 122196409Szecdefine create-info-file 123196409Szec $(call info-file-item, "JAVA_VERSION", "$(VERSION_NUMBER)") 124196409Szec $(call info-file-item, "JAVA_FULL_VERSION", "$(VERSION_STRING)") 125196409Szec $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)") 126196409Szec $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)") 127196409Szec $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)") 128196409Szec $(if $(JDK_ARCH_ABI_PROP_NAME), \ 129196409Szec $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)")) 130196409Szec $(call info-file-item, "SOURCE", "$(strip $(ALL_SOURCE_TIPS))") 131196409Szecendef 132196409Szec 133196409Szec# Param 1 - The file containing the MODULES list 134196409Szecdefine prepare-info-file 135196409Szec $(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@) 136195741Sjamie $(MKDIR) -p $(@D) 137196409Szec $(RM) $@ 138196409Szecendef 139196409Szec 140196409Szecdefine info-file 141196409Szec $(call prepare-info-file) 142196409Szec $(call create-info-file) 143196409Szecendef 144193583Szec 145196409Szec# Create a variable dependency file common for all release info files. 146196409SzecINFO_FILE_VARDEPS := $(call DependOnVariable, create-info-file) 147196409Szec 148196409SzecALL_SOURCE_TIPS = $(shell \ 149193583Szec if [ -f $(SUPPORT_OUTPUTDIR)/source_tips ] ; then \ 150193583Szec $(CAT) $(SUPPORT_OUTPUTDIR)/source_tips ; \ 151193583Szec fi) 152196409Szec 153196409Szec$(BASE_RELEASE_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips 154196409Szec $(info-file) 155196409Szec 156196409Szec################################################################################ 157196409Szec 158196409SzecJMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod) 159196409Szec 160196409Szec# Use this file inside the image as target for make rule 161196409SzecJIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX) 162196409Szec 163196409SzecJLINK_TOOL := $(JLINK) --modulepath $(IMAGES_OUTPUTDIR)/jmods \ 164196409Szec --endian $(OPENJDK_BUILD_CPU_ENDIAN) \ 165196409Szec --release-info $(BASE_RELEASE_FILE) 166196409Szec 167196409Szecifeq ($(JLINK_KEEP_PACKAGED_MODULES), true) 168196409Szec JLINK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods 169196409Szecendif 170196409Szec 171196409Szec$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ 172196409Szec $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE) 173196409Szec $(ECHO) Creating jdk jimage 174196409Szec $(RM) -r $(JDK_IMAGE_DIR) 175196409Szec $(JLINK_TOOL) --output $(JDK_IMAGE_DIR) \ 176196409Szec --addmods $(JDK_MODULES_LIST) $(JLINK_EXTRA_OPTS) 177196409Szec $(TOUCH) $@ 178196409Szec 179196409Szec$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ 180196409Szec $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE) 181196409Szec $(ECHO) Creating jre jimage 182196409Szec $(RM) -r $(JRE_IMAGE_DIR) 183196409Szec $(JLINK_TOOL) --output $(JRE_IMAGE_DIR) \ 184196409Szec --addmods $(JRE_MODULES_LIST) 185196409Szec $(TOUCH) $@ 186196409Szec 187196409SzecJRE_COMPACT1_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact1 188196409SzecJRE_COMPACT2_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact2 189196409SzecJRE_COMPACT3_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact3 190196409Szec 191196409Szec$(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ 192196409Szec $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST) $(BASE_RELEASE_FILE) 193196409Szec $(ECHO) Creating jre compact1 jimage 194193583Szec $(RM) -r $(JRE_COMPACT1_IMAGE_DIR) 195196409Szec $(JLINK_TOOL) --addmods $(JRE_COMPACT1_MODULES_LIST) \ 196196409Szec --output $(JRE_COMPACT1_IMAGE_DIR) 197196409Szec $(TOUCH) $@ 198196409Szec 199196409Szec$(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ 200196409Szec $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST) $(BASE_RELEASE_FILE) 201196409Szec $(ECHO) Creating jre compact2 jimage 202196409Szec $(RM) -r $(JRE_COMPACT2_IMAGE_DIR) 203196409Szec $(JLINK_TOOL) --addmods $(JRE_COMPACT2_MODULES_LIST) \ 204196409Szec --output $(JRE_COMPACT2_IMAGE_DIR) 205196409Szec $(TOUCH) $@ 206196409Szec 207196409Szec$(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ 208196409Szec $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST) $(BASE_RELEASE_FILE) 209196409Szec $(ECHO) Creating jre compact3 jimage 210196409Szec $(RM) -r $(JRE_COMPACT3_IMAGE_DIR) 211196409Szec $(JLINK_TOOL) --addmods $(JRE_COMPACT3_MODULES_LIST) \ 212196409Szec --output $(JRE_COMPACT3_IMAGE_DIR) 213193583Szec $(TOUCH) $@ 214193583Szec 215196409SzecTOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 216196409SzecTOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 217196409SzecTOOL_JRE_COMPACT1_TARGETS := $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 218196409SzecTOOL_JRE_COMPACT2_TARGETS := $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 219196409SzecTOOL_JRE_COMPACT3_TARGETS := $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 220195741Sjamie 221196409Szec################################################################################ 222195741Sjamie# /man dir 223196409Szec# 224196409Szec# All variables in this section are assigned with simple =, without :, to enable 225196409Szec# more selective overriding from the custom version of this file. 226196409Szec# 227196409Szec# Avoid evaluating this whole section on windows for speed and stability 228196409Szecifneq ($(OPENJDK_TARGET_OS), windows) 229196409Szec JRE_MAN_PAGES += \ 230196409Szec java.1 \ 231196409Szec jjs.1 \ 232196409Szec keytool.1 \ 233196409Szec orbd.1 \ 234196409Szec pack200.1 \ 235196409Szec rmid.1 \ 236196409Szec rmiregistry.1 \ 237196409Szec servertool.1 \ 238196409Szec tnameserv.1 \ 239196409Szec unpack200.1 240196409Szec 241196409Szec ifndef OPENJDK 242196409Szec ifneq ($(OPENJDK_TARGET_OS), solaris) 243196409Szec JRE_MAN_PAGES += javaws.1 244196409Szec endif 245196409Szec endif 246196409Szec 247196409Szec JDK_MAN_PAGES += \ 248196409Szec $(JRE_MAN_PAGES) \ 249196409Szec appletviewer.1 \ 250196409Szec idlj.1 \ 251196409Szec jar.1 \ 252193583Szec jarsigner.1 \ 253193583Szec javac.1 \ 254193583Szec javadoc.1 \ 255196421Szec javah.1 \ 256196409Szec javap.1 \ 257196409Szec jconsole.1 \ 258196409Szec jcmd.1 \ 259196409Szec jdb.1 \ 260196409Szec jdeps.1 \ 261196409Szec jinfo.1 \ 262196409Szec jmap.1 \ 263196421Szec jps.1 \ 264196409Szec jrunscript.1 \ 265196409Szec jsadebugd.1 \ 266196409Szec jstack.1 \ 267196409Szec jstat.1 \ 268196409Szec jstatd.1 \ 269196409Szec policytool.1 \ 270196409Szec rmic.1 \ 271196409Szec schemagen.1 \ 272196409Szec serialver.1 \ 273196409Szec wsgen.1 \ 274196409Szec wsimport.1 \ 275196409Szec xjc.1 276196409Szec 277196409Szec # This variable is potentially overridden in the closed makefile. 278196409Szec MAN_SRC_BASEDIR ?= $(JDK_TOPDIR)/src 279196409Szec 280196409Szec ifeq ($(OPENJDK_TARGET_OS), linux) 281196409Szec MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc 282196409Szec MAN1_SUBDIR = man 283196409Szec endif 284196409Szec ifeq ($(OPENJDK_TARGET_OS), solaris) 285196409Szec MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc 286196409Szec MAN1_SUBDIR = sun/man/man1 287196409Szec endif 288193583Szec ifeq ($(OPENJDK_TARGET_OS), macosx) 289193583Szec MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc 290196409Szec MAN1_SUBDIR = man 291196409Szec endif 292196409Szec 293196409Szec $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% 294196409Szec $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 295196409Szec $(install-file) 296196409Szec 297193583Szec $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% 298196409Szec $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 299196409Szec $(install-file) 300195741Sjamie 301196409Szec $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 302196409Szec $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 303196409Szec $(install-file) 304196409Szec 305196409Szec $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 306193583Szec $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 307196409Szec $(install-file) 308193583Szec 309196409Szec ifeq ($(OPENJDK_TARGET_OS), solaris) 310193583Szec $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 311193583Szec $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 312193583Szec $(install-file) 313196409Szec 314196409Szec $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 315193583Szec $(call LogInfo, Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 316193583Szec $(install-file) 317195741Sjamie endif 318195741Sjamie 319195741Sjamie ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) 320195741Sjamie $(JRE_IMAGE_DIR)/man/ja: 321193583Szec $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 322193583Szec $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja 323195741Sjamie 324195741Sjamie $(JDK_IMAGE_DIR)/man/ja: 325196409Szec $(call LogInfo, Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 326195741Sjamie $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja 327196409Szec endif 328196409Szec 329195741Sjamie ifeq ($(OPENJDK_TARGET_OS), solaris) 330196409Szec JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ 331196409Szec $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \ 332196409Szec $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ 333196409Szec $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES)) 334196409Szec 335196409Szec JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ 336196409Szec $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \ 337196409Szec $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ 338196409Szec $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES)) 339196409Szec endif 340196409Szec 341196409Szec ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) 342196409Szec JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ 343196409Szec $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ 344196409Szec $(JRE_IMAGE_DIR)/man/ja 345196409Szec 346196409Szec JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ 347196409Szec $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ 348196409Szec $(JDK_IMAGE_DIR)/man/ja 349196409Szec endif 350196409Szec 351196409Szec JRE_TARGETS += $(JRE_MAN_PAGE_LIST) 352196409Szec JDK_TARGETS += $(JDK_MAN_PAGE_LIST) 353196409Szecendif # Windows 354196409Szec 355196409Szec################################################################################ 356196409Szec# /include dir 357196409Szec 358196409Szec$(eval $(call SetupCopyFiles,COPY_INCLUDES, \ 359196409Szec SRC := $(JDK_OUTPUTDIR)/include, \ 360196409Szec DEST := $(JDK_IMAGE_DIR)/include, \ 361196409Szec FILES := $(call CacheFind,$(JDK_OUTPUTDIR)/include))) 362196409Szec 363196409SzecJDK_TARGETS += $(COPY_INCLUDES) 364196409Szec 365196409Szec################################################################################ 366196409Szec# doc files 367196409Szec 368196409SzecJRE_DOC_FILES ?= LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 369196409SzecJDK_DOC_FILES ?= LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 370196409SzecJRE_DOC_LOCATION ?= $(JDK_TOPDIR) 371196409SzecJDK_DOC_LOCATION ?= $(JDK_TOPDIR) 372196409Szec 373196409SzecJRE_DOC_TARGETS := $(addprefix $(JRE_IMAGE_DIR)/, $(JRE_DOC_FILES)) 374196409SzecJDK_DOC_TARGETS := $(addprefix $(JDK_IMAGE_DIR)/, $(JDK_DOC_FILES)) 375196409Szec 376196409Szec# Processing license files from source area to image area 377196409Szec# These are modified to have the platform specific EOL chars. 378196409Szecdefine process-doc-file 379196409Szec $(call LogInfo, Processing $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 380196409Szec $(MKDIR) -p $(@D) 381196409Szec $(RM) $@ 382196409Szec LC_ALL=C $(SED) 's/$$//g' $< > $@ 383196409Szec $(CHMOD) 444 $@ 384196409Szecendef 385196409Szec 386196409Szec$(JRE_IMAGE_DIR)/%: $(JRE_DOC_LOCATION)/% 387196409Szec $(process-doc-file) 388196409Szec 389196409Szec$(JDK_IMAGE_DIR)/%: $(JDK_DOC_LOCATION)/% 390195741Sjamie $(process-doc-file) 391 392JRE_TARGETS += $(JRE_DOC_TARGETS) 393JDK_TARGETS += $(JDK_DOC_TARGETS) 394 395################################################################################ 396# src.zip 397 398$(JDK_IMAGE_DIR)/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip 399 $(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@)) 400 $(install-file) 401 402JDK_TARGETS += $(JDK_IMAGE_DIR)/src.zip 403 404################################################################################ 405# /demo dir 406ifneq ($(findstring images, $(MAKECMDGOALS)), ) 407 $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \ 408 SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \ 409 DEST := $(JDK_IMAGE_DIR)/demo, \ 410 FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \ 411 $(call DoubleDollar, $(call DoubleDollar, \ 412 $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \ 413 -type f -a ! \( -name "_the*" -o -name "javac_state" \) )))), \ 414 )) 415 416 JDK_TARGETS += $(JDK_COPY_DEMOS) 417endif 418 419################################################################################ 420# /sample dir 421 422$(eval $(call SetupCopyFiles,COPY_SAMPLES, \ 423 SRC := $(SUPPORT_OUTPUTDIR)/sample/image, \ 424 DEST := $(JDK_IMAGE_DIR)/sample, \ 425 FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample/image), \ 426 $(call CacheFind,$(SUPPORT_OUTPUTDIR)/sample/image)))) 427 428JDK_TARGETS += $(COPY_SAMPLES) 429 430################################################################################ 431# jrt-fs.jar 432 433$(eval $(call SetupCopyFiles,COPY_JRTFS_JAR, \ 434 SRC := $(SUPPORT_OUTPUTDIR), \ 435 DEST := $(JDK_IMAGE_DIR), \ 436 FILES := $(SUPPORT_OUTPUTDIR)/jrt-fs.jar)) 437 438JDK_TARGETS += $(COPY_JRTFS_JAR) 439 440################################################################################ 441# Code coverage data files 442 443ifeq ($(GCOV_ENABLED), true) 444 445 GCOV_FIND_EXPR := -type f -name "*.gcno" 446 447 $(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \ 448 SRC := $(OUTPUT_ROOT), \ 449 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ 450 FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR)))) 451 452 SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO) 453 454 $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \ 455 SRC := $(OUTPUT_ROOT), \ 456 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ 457 FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR)))) 458 459 SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO) 460 461endif 462 463################################################################################ 464 465# Include custom post hook here to make it possible to augment the target lists 466# before actual target prerequisites are declared. 467$(eval $(call IncludeCustomExtension, , Images-post.gmk)) 468 469################################################################################ 470 471$(JRE_TARGETS): $(TOOL_JRE_TARGETS) 472$(JDK_TARGETS): $(TOOL_JDK_TARGETS) 473 474jimages: $(TOOL_JRE_TARGETS) $(TOOL_JDK_TARGETS) $(JRE_TARGETS) $(JDK_TARGETS) \ 475 $(SYMBOLS_TARGETS) 476 477$(JRE_COMPACT1_TARGETS): $(TOOL_JRE_COMPACT1_TARGETS) 478$(JRE_COMPACT2_TARGETS): $(TOOL_JRE_COMPACT2_TARGETS) 479$(JRE_COMPACT3_TARGETS): $(TOOL_JRE_COMPACT3_TARGETS) 480 481profiles: $(TOOL_JRE_COMPACT1_TARGETS) \ 482 $(TOOL_JRE_COMPACT2_TARGETS) \ 483 $(TOOL_JRE_COMPACT3_TARGETS) \ 484 $(JRE_COMPACT1_TARGETS) \ 485 $(JRE_COMPACT2_TARGETS) \ 486 $(JRE_COMPACT3_TARGETS) 487 488.PHONY: default all jimages profiles 489