Images.gmk revision 1504:8b0cc5d855fb
177298Sobrien# 277298Sobrien# Copyright (c) 2014, 2015 Oracle and/or its affiliates. All rights reserved. 378828Sobrien# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 478828Sobrien# 5218822Sdim# This code is free software; you can redistribute it and/or modify it 678828Sobrien# under the terms of the GNU General Public License version 2 only, as 778828Sobrien# published by the Free Software Foundation. Oracle designates this 878828Sobrien# particular file as subject to the "Classpath" exception as provided 978828Sobrien# by Oracle in the LICENSE file that accompanied this code. 1078828Sobrien# 1178828Sobrien# This code is distributed in the hope that it will be useful, but WITHOUT 1278828Sobrien# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1378828Sobrien# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1478828Sobrien# version 2 for more details (a copy is included in the LICENSE file that 1578828Sobrien# accompanied this code). 1678828Sobrien# 1778828Sobrien# You should have received a copy of the GNU General Public License version 1878828Sobrien# 2 along with this work; if not, write to the Free Software Foundation, 19218822Sdim# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2077298Sobrien# 2177298Sobrien# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2277298Sobrien# or visit www.oracle.com if you need additional information or have any 2389857Sobrien# questions. 2489857Sobrien# 2577298Sobrien 2677298Sobriendefault: all 2789857Sobrien 2889857Sobrieninclude $(SPEC) 2989857Sobrieninclude MakeBase.gmk 3089857Sobrien 3189857SobrienTOOL_TARGETS := 3289857SobrienJDK_TARGETS := 3389857SobrienJRE_TARGETS := 3489857Sobrien 3589857Sobrien# Hook to include the corresponding custom file, if present. 3689857Sobrien$(eval $(call IncludeCustomExtension, , Images-pre.gmk)) 3789857Sobrien 3877298Sobrien############################################################################ 3977298Sobrien 4077298SobrienMAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \ 4177298Sobrien jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom 4277298Sobrien 4377298Sobrien# providers 4477298SobrienPROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.localedata \ 4577298Sobrien jdk.naming.dns jdk.naming.rmi jdk.scripting.nashorn jdk.zipfs 4677298Sobrien 4777298Sobrien# tools 4877298SobrienTOOLS_MODULES += jdk.attach jdk.compiler jdk.dev jdk.javadoc jdk.jcmd jdk.jconsole \ 4977298Sobrien jdk.hotspot.agent jdk.hprof.agent jdk.jartool jdk.jdi jdk.jdwp.agent \ 5077298Sobrien jdk.policytool jdk.rmic jdk.xml.bind jdk.xml.ws 5177298Sobrien 5277298Sobrienifeq ($(OPENJDK_TARGET_OS), windows) 5377298Sobrien PROVIDER_MODULES += jdk.crypto.mscapi 5477298Sobrienendif 5577298Sobrien 5677298Sobrienifeq ($(OPENJDK_TARGET_OS), solaris) 5777298Sobrien PROVIDER_MODULES += jdk.crypto.ucrypto 5877298Sobrienendif 5977298Sobrien 60130561Sobrienifeq ($(OPENJDK_TARGET_OS), windows) 61130561Sobrien MAIN_MODULES += jdk.accessibility 62130561Sobrienendif 63130561Sobrien 64130561Sobrienifeq ($(OPENJDK_TARGET_OS), macosx) 65130561Sobrien MAIN_MODULES += jdk.deploy.osx 66130561Sobrienendif 67130561Sobrien 6877298SobrienJRE_MODULES := $(MAIN_MODULES) $(PROVIDER_MODULES) 6977298SobrienJDK_MODULES := $(JRE_MODULES) $(TOOLS_MODULES) 7077298Sobrien 7177298Sobrien# compact3 builds have additional modules 7277298SobrienJDK_COMPACT3_MODULES := java.compact3 java.smartcardio jdk.httpserver jdk.naming.dns \ 7377298Sobrien jdk.naming.rmi jdk.sctp jdk.security.auth jdk.management 7477298Sobrien 7577298Sobrien# Replacing double-comma with a single comma is to workaround the issue 7677298Sobrien# with some version of make on windows that doesn't substitute spaces 7777298Sobrien# with one comma properly as with make 4.0 7877298Sobriendefine SubstComma 7977298Sobrien $(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) 8077298Sobrienendef 8177298SobrienJRE_MODULES_LIST := $(call SubstComma, $(JRE_MODULES)) 8277298SobrienJDK_MODULES_LIST := $(call SubstComma, $(JDK_MODULES)) 8377298Sobrien 8477298Sobrien################################################################################ 8577298Sobrien 8677298SobrienJRE_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/jre-sorted-modules 8777298SobrienJDK_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/jdk-sorted-modules 8877298SobrienJRE_COMPACT1_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/compact1-sorted-modules 8977298SobrienJRE_COMPACT2_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/compact2-sorted-modules 9077298SobrienJRE_COMPACT3_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/compact3-sorted-modules 9177298Sobrien 9277298Sobrien 9377298SobrienMODULES_CMDS := $(SUPPORT_OUTPUTDIR)/modules_cmds-stripped 9477298SobrienMODULES_LIBS := $(SUPPORT_OUTPUTDIR)/modules_libs-stripped 9577298SobrienMODULES_CONF := $(SUPPORT_OUTPUTDIR)/modules_conf 9677298Sobrien 9777298SobrienJIMAGE_TOOL := $(JAVA_SMALL) \ 9877298Sobrien -Xbootclasspath/p:$(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes \ 9977298Sobrien -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes build.tools.module.ImageBuilder \ 10077298Sobrien --cmds $(MODULES_CMDS) \ 10177298Sobrien --libs $(MODULES_LIBS) \ 10289857Sobrien --configs $(MODULES_CONF) \ 10389857Sobrien --classes $(JDK_OUTPUTDIR)/modules \ 10489857Sobrien --endian $(OPENJDK_TARGET_CPU_ENDIAN) \ 10589857Sobrien # 10689857Sobrien 10789857SobrienMODULES_XML += $(SRC_ROOT)/modules.xml 10889857SobrienDEPENDENCIES := $(call CacheFind, \ 10977298Sobrien $(SUPPORT_OUTPUTDIR)/modules_cmds \ 11077298Sobrien $(SUPPORT_OUTPUTDIR)/modules_libs) \ 11177298Sobrien $(wildcard $(JDK_OUTPUTDIR)/modules/*/_*) \ 11289857Sobrien $(MODULES_XML) 11389857Sobrien # 11489857Sobrien 11589857Sobrien# Use this file inside the image as target for make rule 11689857SobrienJIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX) 11789857Sobrien 11889857Sobrien$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ 11977298Sobrien $(call DependOnVariable, JDK_MODULES_LIST) 12077298Sobrien $(ECHO) Creating jdk jimage 12177298Sobrien $(RM) -r $(JDK_IMAGE_DIR) $(JDK_SORTED_MODULES) 12277298Sobrien $(JIMAGE_TOOL) --mods $(JDK_MODULES_LIST) --output $(JDK_IMAGE_DIR) \ 12377298Sobrien $(MODULES_XML) > $(JDK_SORTED_MODULES) 12477298Sobrien $(TOUCH) $@ 12577298Sobrien 12677298Sobrien$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ 12777298Sobrien $(call DependOnVariable, JRE_MODULES_LIST) 12877298Sobrien $(ECHO) Creating jre jimage 129130561Sobrien $(RM) -r $(JRE_IMAGE_DIR) $(JRE_SORTED_MODULES) 13077298Sobrien $(JIMAGE_TOOL) --mods $(JRE_MODULES_LIST) --output $(JRE_IMAGE_DIR) \ 13177298Sobrien $(MODULES_XML) > $(JRE_SORTED_MODULES) 13277298Sobrien $(TOUCH) $@ 13377298Sobrien 13477298SobrienJRE_COMPACT1_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact1 13577298SobrienJRE_COMPACT2_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact2 13677298SobrienJRE_COMPACT3_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact3 13777298Sobrien 13877298SobrienCOMPACT_EXTRA_MODULES := jdk.localedata jdk.crypto.pkcs11 jdk.crypto.ec 13977298Sobrien 14077298Sobrien$(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ 14177298Sobrien $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST) 14277298Sobrien $(ECHO) Creating jre compact1 jimage 14377298Sobrien $(RM) -r $(JRE_COMPACT1_IMAGE_DIR) $(JRE_COMPACT1_SORTED_MODULES) 14477298Sobrien $(JIMAGE_TOOL) \ 14577298Sobrien --mods $(call SubstComma, java.compact1 $(COMPACT_EXTRA_MODULES)) \ 14677298Sobrien --output $(JRE_COMPACT1_IMAGE_DIR) \ 14777298Sobrien $(MODULES_XML) > $(JRE_COMPACT1_SORTED_MODULES) 14877298Sobrien $(TOUCH) $@ 14977298Sobrien 15077298Sobrien$(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ 15177298Sobrien $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST) 15277298Sobrien $(ECHO) Creating jre compact2 jimage 15377298Sobrien $(RM) -r $(JRE_COMPACT2_IMAGE_DIR) $(JRE_COMPACT2_SORTED_MODULES) 15477298Sobrien $(JIMAGE_TOOL) \ 15577298Sobrien --mods $(call SubstComma, java.compact2 $(COMPACT_EXTRA_MODULES)) \ 15677298Sobrien --output $(JRE_COMPACT2_IMAGE_DIR) \ 15777298Sobrien $(MODULES_XML) > $(JRE_COMPACT2_SORTED_MODULES) 15877298Sobrien $(TOUCH) $@ 15977298Sobrien 16077298Sobrien$(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \ 16177298Sobrien $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST) 16277298Sobrien $(ECHO) Creating jre compact3 jimage 16377298Sobrien $(RM) -r $(JRE_COMPACT3_IMAGE_DIR) $(JRE_COMPACT3_SORTED_MODULES) 16477298Sobrien $(JIMAGE_TOOL) \ 16577298Sobrien --mods $(call SubstComma, $(JDK_COMPACT3_MODULES) $(COMPACT_EXTRA_MODULES)) \ 16677298Sobrien --output $(JRE_COMPACT3_IMAGE_DIR) \ 16777298Sobrien $(MODULES_XML) > $(JRE_COMPACT3_SORTED_MODULES) 16877298Sobrien $(TOUCH) $@ 16977298Sobrien 17077298SobrienTOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 17177298SobrienTOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 17277298SobrienTOOL_JRE_COMPACT1_TARGETS := $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 17377298SobrienTOOL_JRE_COMPACT2_TARGETS := $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 17477298SobrienTOOL_JRE_COMPACT3_TARGETS := $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) 17577298Sobrien 17677298Sobrien################################################################################ 17777298Sobrien# /man dir 17877298Sobrien# 17977298Sobrien# All variables in this section are assigned with simple =, without :, to enable 18077298Sobrien# more selective overriding from the custom version of this file. 18177298Sobrien# 18277298Sobrien# Avoid evaluating this whole section on windows for speed and stability 18377298Sobrienifneq ($(OPENJDK_TARGET_OS), windows) 18477298Sobrien JRE_MAN_PAGES += \ 18577298Sobrien java.1 \ 18677298Sobrien jjs.1 \ 18777298Sobrien keytool.1 \ 18877298Sobrien orbd.1 \ 18977298Sobrien pack200.1 \ 19077298Sobrien rmid.1 \ 19177298Sobrien rmiregistry.1 \ 19277298Sobrien servertool.1 \ 19377298Sobrien tnameserv.1 \ 19477298Sobrien unpack200.1 19577298Sobrien 19677298Sobrien ifndef OPENJDK 19777298Sobrien ifneq ($(OPENJDK_TARGET_OS), solaris) 19877298Sobrien JRE_MAN_PAGES += javaws.1 19977298Sobrien endif 20077298Sobrien endif 20177298Sobrien 20277298Sobrien JDK_MAN_PAGES += \ 20377298Sobrien $(JRE_MAN_PAGES) \ 20477298Sobrien appletviewer.1 \ 20577298Sobrien idlj.1 \ 20677298Sobrien jar.1 \ 20777298Sobrien jarsigner.1 \ 20877298Sobrien javac.1 \ 20977298Sobrien javadoc.1 \ 21077298Sobrien javah.1 \ 21177298Sobrien javap.1 \ 21277298Sobrien jconsole.1 \ 21377298Sobrien jcmd.1 \ 21477298Sobrien jdb.1 \ 21577298Sobrien jdeps.1 \ 21677298Sobrien jinfo.1 \ 21777298Sobrien jmap.1 \ 218130561Sobrien jps.1 \ 219130561Sobrien jrunscript.1 \ 220130561Sobrien jsadebugd.1 \ 221130561Sobrien jstack.1 \ 222130561Sobrien jstat.1 \ 223130561Sobrien jstatd.1 \ 224130561Sobrien native2ascii.1 \ 225130561Sobrien policytool.1 \ 226130561Sobrien rmic.1 \ 227130561Sobrien schemagen.1 \ 228130561Sobrien serialver.1 \ 229130561Sobrien wsgen.1 \ 230130561Sobrien wsimport.1 \ 231130561Sobrien xjc.1 23277298Sobrien 233130561Sobrien # This variable is potentially overridden in the closed makefile. 23489857Sobrien MAN_SRC_BASEDIR ?= $(JDK_TOPDIR)/src 235130561Sobrien 236130561Sobrien ifeq ($(OPENJDK_TARGET_OS), linux) 23777298Sobrien MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/linux/doc 23877298Sobrien MAN1_SUBDIR = man 23977298Sobrien endif 24089857Sobrien ifeq ($(OPENJDK_TARGET_OS), solaris) 24189857Sobrien MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc 24289857Sobrien MAN1_SUBDIR = sun/man/man1 24389857Sobrien endif 24477298Sobrien ifeq ($(OPENJDK_TARGET_OS), macosx) 24589857Sobrien MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc 24689857Sobrien MAN1_SUBDIR = man 24789857Sobrien endif 24889857Sobrien 24989857Sobrien $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% 25089857Sobrien $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) 25189857Sobrien $(install-file) 25277298Sobrien 25377298Sobrien $(JDK_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% 25477298Sobrien $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) 25577298Sobrien $(install-file) 25677298Sobrien 25777298Sobrien define install-ja-manpage 25889857Sobrien $(MKDIR) -p $(@D) 25989857Sobrien $(CAT) $< \ 26089857Sobrien | $(NATIVE2ASCII) -encoding eucJP \ 26189857Sobrien | $(SED) 's/@@VERSION@@/$(THIS_JDK_VERSION)/g' \ 26289857Sobrien | $(NATIVE2ASCII) -reverse -encoding $1 \ 26389857Sobrien > $@ 26489857Sobrien endef 26589857Sobrien 26689857Sobrien $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 26789857Sobrien $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) 26889857Sobrien $(call install-ja-manpage, UTF-8) 26989857Sobrien 27089857Sobrien $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 27177298Sobrien $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) 27277298Sobrien $(call install-ja-manpage, UTF-8) 27377298Sobrien 27477298Sobrien $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 27577298Sobrien $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) 27677298Sobrien $(call install-ja-manpage, PCK) 27777298Sobrien 27877298Sobrien $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 27977298Sobrien $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) 28077298Sobrien $(call install-ja-manpage, PCK) 28177298Sobrien 28277298Sobrien ifeq ($(OPENJDK_TARGET_OS), solaris) 28377298Sobrien $(JRE_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 28477298Sobrien $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) 28577298Sobrien $(install-file) 28677298Sobrien 28777298Sobrien $(JDK_IMAGE_DIR)/man/ja/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/ja/% 28877298Sobrien $(ECHO) $(LOG_INFO) Converting $(patsubst $(OUTPUT_ROOT)/%,%,$@) 28977298Sobrien $(install-file) 29077298Sobrien endif 29177298Sobrien 29277298Sobrien ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) 29377298Sobrien $(JRE_IMAGE_DIR)/man/ja: 29477298Sobrien $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) 29577298Sobrien $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja 29677298Sobrien 29777298Sobrien $(JDK_IMAGE_DIR)/man/ja: 29877298Sobrien $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@) 29977298Sobrien $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja 30077298Sobrien endif 30177298Sobrien 30277298Sobrien ifeq ($(OPENJDK_TARGET_OS), solaris) 30377298Sobrien JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ 30477298Sobrien $(addprefix $(JRE_IMAGE_DIR)/man/ja/man1/, $(JRE_MAN_PAGES)) \ 30577298Sobrien $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ 30677298Sobrien $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JRE_MAN_PAGES)) 30777298Sobrien 30877298Sobrien JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ 30977298Sobrien $(addprefix $(JDK_IMAGE_DIR)/man/ja/man1/, $(JDK_MAN_PAGES)) \ 31077298Sobrien $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ 31177298Sobrien $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES)) 31277298Sobrien endif 31377298Sobrien 31477298Sobrien ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), ) 31577298Sobrien JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \ 31677298Sobrien $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \ 31777298Sobrien $(JRE_IMAGE_DIR)/man/ja 31877298Sobrien 31977298Sobrien JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \ 32077298Sobrien $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \ 32177298Sobrien $(JDK_IMAGE_DIR)/man/ja 32277298Sobrien endif 32377298Sobrien 32477298Sobrien JRE_TARGETS += $(JRE_MAN_PAGE_LIST) 32577298Sobrien JDK_TARGETS += $(JDK_MAN_PAGE_LIST) 32677298Sobrienendif # Windows 32777298Sobrien 32877298Sobrien################################################################################ 32977298Sobrien# /include dir 33077298Sobrien 33177298Sobrien$(eval $(call SetupCopyFiles,COPY_INCLUDES, \ 33277298Sobrien SRC := $(JDK_OUTPUTDIR)/include, \ 33377298Sobrien DEST := $(JDK_IMAGE_DIR)/include, \ 33477298Sobrien FILES := $(call CacheFind,$(JDK_OUTPUTDIR)/include))) 33577298Sobrien 33677298SobrienJDK_TARGETS += $(COPY_INCLUDES) 33777298Sobrien 33877298Sobrien################################################################################ 33977298Sobrien# doc files 34077298Sobrien 34177298SobrienJRE_DOC_FILES ?= LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 34277298SobrienJDK_DOC_FILES ?= LICENSE ASSEMBLY_EXCEPTION THIRD_PARTY_README 34377298SobrienJRE_DOC_LOCATION ?= $(JDK_TOPDIR) 34477298SobrienJDK_DOC_LOCATION ?= $(JDK_TOPDIR) 34577298Sobrien 34677298SobrienJRE_DOC_TARGETS := $(addprefix $(JRE_IMAGE_DIR)/, $(JRE_DOC_FILES)) 34777298SobrienJDK_DOC_TARGETS := $(addprefix $(JDK_IMAGE_DIR)/, $(JDK_DOC_FILES)) 34877298Sobrien 34977298Sobrien# Processing license files from source area to image area 35077298Sobrien# These are modified to have the platform specific EOL chars. 35177298Sobriendefine process-doc-file 35277298Sobrien $(ECHO) $(LOG_INFO) Processing $(patsubst $(OUTPUT_ROOT)/%,%,$@) 35377298Sobrien $(MKDIR) -p $(@D) 35477298Sobrien $(RM) $@ 35577298Sobrien LC_ALL=C $(SED) 's/$$//g' $< > $@ 35677298Sobrien $(CHMOD) 444 $@ 35777298Sobrienendef 35877298Sobrien 35977298Sobrien$(JRE_IMAGE_DIR)/%: $(JRE_DOC_LOCATION)/% 36077298Sobrien $(process-doc-file) 36177298Sobrien 36277298Sobrien$(JDK_IMAGE_DIR)/%: $(JDK_DOC_LOCATION)/% 36377298Sobrien $(process-doc-file) 36477298Sobrien 36577298SobrienJRE_TARGETS += $(JRE_DOC_TARGETS) 36677298SobrienJDK_TARGETS += $(JDK_DOC_TARGETS) 36777298Sobrien 36877298Sobrien################################################################################ 36977298Sobrien# Release file 37077298Sobrien 37177298SobrienJRE_INFO_FILE := $(JRE_IMAGE_DIR)/release 37277298SobrienJDK_INFO_FILE := $(JDK_IMAGE_DIR)/release 37377298SobrienJRE_COMPACT1_INFO_FILE := $(JRE_COMPACT1_IMAGE_DIR)/release 37477298SobrienJRE_COMPACT2_INFO_FILE := $(JRE_COMPACT2_IMAGE_DIR)/release 37577298SobrienJRE_COMPACT3_INFO_FILE := $(JRE_COMPACT3_IMAGE_DIR)/release 37677298Sobrien 37777298Sobrien# Common way to emit a line into the release or info file 37877298Sobriendefine info-file-item # name value 37977298Sobrien $(PRINTF) '%s="%s"\n' $1 $2 >> $@ 38077298Sobrienendef 38177298Sobrien 38277298Sobrien# Param 1 - The file containing the MODULES list 38377298Sobriendefine create-info-file 38477298Sobrien $(call info-file-item, "JAVA_VERSION", "$(JDK_VERSION)") 38577298Sobrien $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)") 38677298Sobrien $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)") 38777298Sobrien $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)") 38877298Sobrien $(if $(JDK_ARCH_ABI_PROP_NAME), \ 38989857Sobrien $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)")) 39089857Sobrien $(call info-file-item, "SOURCE", "$(ALL_SOURCE_TIPS)") 39189857Sobrien $(call info-file-item, "MODULES", "`$(CAT) $1`") 39289857Sobrienendef 39377298Sobrien 39477298Sobrien# Param 1 - The file containing the MODULES list 39577298Sobriendefine prepare-info-file 39689857Sobrien $(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@) 39777298Sobrien $(MKDIR) -p $(@D) 39877298Sobrien $(RM) $@ 39989857Sobrienendef 40089857Sobrien 40177298Sobriendefine info-file 40289857Sobrien $(call prepare-info-file, $1) 40389857Sobrien $(call create-info-file, $1) 40489857Sobrienendef 40589857Sobrien 40689857Sobrien# Create a variable dependency file common for all release info files. The 40789857Sobrien# sorted module list will only change if the image is regenerated, which will 40889857Sobrien# trigger a rebuild of these files anyway. 40989857SobrienINFO_FILE_VARDEPS := $(call DependOnVariable, create-info-file) 41089857Sobrien 41189857SobrienALL_SOURCE_TIPS = $(shell \ 41289857Sobrien if [ -f $(SUPPORT_OUTPUTDIR)/source_tips ] ; then \ 41389857Sobrien $(CAT) $(SUPPORT_OUTPUTDIR)/source_tips ; \ 41489857Sobrien fi) 41589857Sobrien 41689857Sobrien$(JRE_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips 41789857Sobrien $(call info-file, $(JRE_SORTED_MODULES)) 41889857Sobrien 41989857Sobrien$(JDK_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips 42089857Sobrien $(call info-file, $(JDK_SORTED_MODULES)) 42177298Sobrien 42289857Sobrien$(JRE_COMPACT1_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips 42389857Sobrien $(call info-file, $(JRE_COMPACT1_SORTED_MODULES)) 42489857Sobrien $(call info-file-item, "JAVA_PROFILE", "compact1") 42589857Sobrien 42689857Sobrien$(JRE_COMPACT2_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips 42789857Sobrien $(call info-file, $(JRE_COMPACT2_SORTED_MODULES)) 42889857Sobrien $(call info-file-item, "JAVA_PROFILE", "compact2") 42989857Sobrien 43089857Sobrien$(JRE_COMPACT3_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips 43189857Sobrien $(call info-file, $(JRE_COMPACT3_SORTED_MODULES)) 43289857Sobrien $(call info-file-item, "JAVA_PROFILE", "compact3") 43389857Sobrien 43477298SobrienJRE_TARGETS += $(JRE_INFO_FILE) 43577298SobrienJDK_TARGETS += $(JDK_INFO_FILE) 43677298SobrienJRE_COMPACT1_TARGETS += $(JRE_COMPACT1_INFO_FILE) 43777298SobrienJRE_COMPACT2_TARGETS += $(JRE_COMPACT2_INFO_FILE) 43889857SobrienJRE_COMPACT3_TARGETS += $(JRE_COMPACT3_INFO_FILE) 43989857Sobrien 44089857Sobrien################################################################################ 44177298Sobrien# src.zip 44277298Sobrien 44377298Sobrien$(JDK_IMAGE_DIR)/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip 44489857Sobrien $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) 44589857Sobrien $(install-file) 44677298Sobrien 44777298SobrienJDK_TARGETS += $(JDK_IMAGE_DIR)/src.zip 44877298Sobrien 44977298Sobrien################################################################################ 45077298Sobrien# /demo dir 45177298Sobrien 45289857Sobrien# The db demo contains an empty dir that needs to be copied. The other 45389857Sobrien# directories will always trigger the rule for recompile since 45477298Sobrien# _the.list_of_packages files are touched. 45577298Sobrienifneq ($(findstring images, $(MAKECMDGOALS)), ) 45677298Sobrien $(JDK_IMAGE_DIR)/demo/%: $(SUPPORT_OUTPUTDIR)/demo/image/% 45777298Sobrien if [ ! -d "$@" ]; then \ 45877298Sobrien $(ECHO) $(LOG_INFO) Copying '$(patsubst $(OUTPUT_ROOT)/%,%,$@)'; \ 45977298Sobrien $(MKDIR) -p $(@D); \ 46077298Sobrien if [ -d "$<" ]; then $(MKDIR) -p $@; else $(CP) '$<' '$@'; fi \ 46177298Sobrien fi 46277298Sobrien 46377298Sobrien # Find all files including directories 46477298Sobrien JDK_DEMO_TARGETS := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demo/image), \ 46577298Sobrien $(patsubst $(SUPPORT_OUTPUTDIR)/demo/image/%, $(JDK_IMAGE_DIR)/demo/%, \ 46677298Sobrien $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demo/image \ 46777298Sobrien ! \( -name "_the*" -o -name "javac_state" \) ))) 46877298Sobrien 46977298Sobrien JDK_TARGETS += $(JDK_DEMO_TARGETS) 47077298Sobrienendif 47177298Sobrien 47277298Sobrien################################################################################ 47377298Sobrien# /sample dir 474 475$(eval $(call SetupCopyFiles,COPY_SAMPLES, \ 476 SRC := $(SUPPORT_OUTPUTDIR)/sample, \ 477 DEST := $(JDK_IMAGE_DIR)/sample, \ 478 FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample), \ 479 $(call CacheFind,$(SUPPORT_OUTPUTDIR)/sample)))) 480 481JDK_TARGETS += $(COPY_SAMPLES) 482 483################################################################################ 484# jrt-fs.jar 485 486$(eval $(call SetupCopyFiles,COPY_JRTFS_JAR, \ 487 SRC := $(SUPPORT_OUTPUTDIR), \ 488 DEST := $(JDK_IMAGE_DIR), \ 489 FILES := $(SUPPORT_OUTPUTDIR)/jrt-fs.jar)) 490 491JDK_TARGETS += $(COPY_JRTFS_JAR) 492 493################################################################################ 494# Code coverage data files 495 496ifeq ($(GCOV_ENABLED), true) 497 498 GCOV_FIND_EXPR := -type f -name "*.gcno" 499 500 $(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \ 501 SRC := $(OUTPUT_ROOT), \ 502 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ 503 FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR)))) 504 505 SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO) 506 507 $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \ 508 SRC := $(OUTPUT_ROOT), \ 509 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ 510 FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR)))) 511 512 SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO) 513 514endif 515 516################################################################################ 517 518# Include custom post hook here to make it possible to augment the target lists 519# before actual target prerequisites are declared. 520$(eval $(call IncludeCustomExtension, , Images-post.gmk)) 521 522################################################################################ 523 524$(JRE_TARGETS): $(TOOL_JRE_TARGETS) 525$(JDK_TARGETS): $(TOOL_JDK_TARGETS) 526 527jimages: $(TOOL_JRE_TARGETS) $(TOOL_JDK_TARGETS) $(JRE_TARGETS) $(JDK_TARGETS) \ 528 $(SYMBOLS_TARGETS) 529 530 531$(JRE_COMPACT1_TARGETS): $(TOOL_JRE_COMPACT1_TARGETS) 532$(JRE_COMPACT2_TARGETS): $(TOOL_JRE_COMPACT2_TARGETS) 533$(JRE_COMPACT3_TARGETS): $(TOOL_JRE_COMPACT3_TARGETS) 534 535profiles: $(TOOL_JRE_COMPACT1_TARGETS) \ 536 $(TOOL_JRE_COMPACT2_TARGETS) \ 537 $(TOOL_JRE_COMPACT3_TARGETS) \ 538 $(JRE_COMPACT1_TARGETS) \ 539 $(JRE_COMPACT2_TARGETS) \ 540 $(JRE_COMPACT3_TARGETS) 541 542.PHONY: default all jimages profiles 543