make/Images.gmk
changeset 36506 17612cee3530
parent 36284 c59cc3dd4690
child 36543 a8ce27ddc757
equal deleted inserted replaced
36505:17460b0304f4 36506:17612cee3530
    36 # Hook to include the corresponding custom file, if present.
    36 # Hook to include the corresponding custom file, if present.
    37 $(eval $(call IncludeCustomExtension, , Images-pre.gmk))
    37 $(eval $(call IncludeCustomExtension, , Images-pre.gmk))
    38 
    38 
    39 ############################################################################
    39 ############################################################################
    40 
    40 
    41 MAIN_MODULES += java.se java.smartcardio jdk.httpserver jdk.sctp \
    41 MAIN_MODULES += java.se.ee java.smartcardio jdk.httpserver jdk.sctp \
    42                jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \
    42                jdk.security.auth jdk.security.jgss jdk.pack200 jdk.xml.dom \
    43                jdk.accessibility jdk.internal.le jdk.dynalink \
    43                jdk.accessibility jdk.internal.le jdk.dynalink \
    44                jdk.scripting.nashorn jdk.scripting.nashorn.shell \
    44                jdk.scripting.nashorn jdk.scripting.nashorn.shell \
    45                jdk.vm.ci jdk.management jdk.jsobject
    45                jdk.vm.ci jdk.management jdk.jsobject
    46 
    46 
    47 # providers
    47 # providers
    48 PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.jvmstat.rmi \
    48 PROVIDER_MODULES += jdk.charsets jdk.crypto.ec jdk.crypto.pkcs11 jdk.jvmstat jdk.jvmstat.rmi \
    49                jdk.localedata jdk.naming.dns jdk.naming.rmi jdk.zipfs
    49                jdk.localedata jdk.naming.dns jdk.naming.rmi jdk.zipfs
    50 
    50 
    51 # tools
    51 # tools
    52 TOOLS_MODULES += jdk.attach jdk.compiler jdk.dev \
    52 TOOLS_MODULES += jdk.attach jdk.compiler \
    53                jdk.javadoc jdk.jcmd jdk.jconsole jdk.hotspot.agent jdk.jartool \
    53                jdk.javadoc jdk.jcmd jdk.jconsole jdk.hotspot.agent jdk.jartool \
    54                jdk.jdeps jdk.jdi jdk.jdwp.agent jdk.jshell jdk.policytool jdk.rmic \
    54                jdk.jdeps jdk.jdi jdk.jdwp.agent jdk.jlink jdk.jshell \
    55                jdk.xml.bind jdk.xml.ws
    55                jdk.policytool jdk.rmic jdk.xml.bind jdk.xml.ws jdk.internal.opt
    56 
    56 
    57 ifeq ($(OPENJDK_TARGET_OS), windows)
    57 ifeq ($(OPENJDK_TARGET_OS), windows)
    58   PROVIDER_MODULES += jdk.crypto.mscapi
    58   PROVIDER_MODULES += jdk.crypto.mscapi
    59 endif
    59 endif
    60 
    60 
    63 endif
    63 endif
    64 
    64 
    65 JRE_MODULES := $(filter-out $(MODULES_FILTER), $(MAIN_MODULES) $(PROVIDER_MODULES))
    65 JRE_MODULES := $(filter-out $(MODULES_FILTER), $(MAIN_MODULES) $(PROVIDER_MODULES))
    66 JDK_MODULES := $(filter-out $(MODULES_FILTER), $(JRE_MODULES) $(TOOLS_MODULES))
    66 JDK_MODULES := $(filter-out $(MODULES_FILTER), $(JRE_MODULES) $(TOOLS_MODULES))
    67 
    67 
    68 # compact3 builds have additional modules
    68 # Param 1 - Name of module
    69 JDK_COMPACT3_MODULES := java.compact3 java.smartcardio jdk.httpserver jdk.naming.dns \
    69 define ReadImportMetaData
    70                        jdk.naming.rmi jdk.sctp jdk.security.auth jdk.management
    70   ifneq ($$(wildcard $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties), )
       
    71     include_in_jre :=
       
    72     include_in_jdk :=
       
    73     include $(IMPORT_MODULES_MAKE)/$$(strip $1)/build.properties
       
    74     ifeq ($$(include_in_jre), true)
       
    75       JRE_MODULES += $1
       
    76     endif
       
    77     ifeq ($$(include_in_jdk), true)
       
    78       JDK_MODULES += $1
       
    79     endif
       
    80   else
       
    81     # Default to include in all
       
    82     JRE_MODULES += $1
       
    83     JDK_MODULES += $1
       
    84   endif
       
    85 endef
       
    86 
       
    87 IMPORTED_MODULES := $(call FindImportedModules)
       
    88 $(foreach m, $(IMPORTED_MODULES), $(eval $(call ReadImportMetaData, $m)))
       
    89 
       
    90 # Compact builds have additional modules
       
    91 COMPACT_EXTRA_MODULES := jdk.localedata jdk.crypto.pkcs11 jdk.crypto.ec
       
    92 JRE_COMPACT1_MODULES := $(COMPACT_EXTRA_MODULES) java.compact1
       
    93 JRE_COMPACT2_MODULES := $(JRE_COMPACT1_MODULES) java.compact2 jdk.xml.dom jdk.httpserver
       
    94 JRE_COMPACT3_MODULES := $(JRE_COMPACT2_MODULES) java.compact3 java.smartcardio jdk.management \
       
    95                         jdk.naming.dns jdk.naming.rmi jdk.sctp jdk.security.auth
    71 
    96 
    72 # Replacing double-comma with a single comma is to workaround the issue
    97 # Replacing double-comma with a single comma is to workaround the issue
    73 # with some version of make on windows that doesn't substitute spaces
    98 # with some version of make on windows that doesn't substitute spaces
    74 # with one comma properly as with make 4.0
    99 # with one comma properly as with make 4.0
    75 define SubstComma
   100 SubstComma = \
    76   $(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1)))
   101     $(strip \
    77 endef
   102         $(subst $(COMMA)$(COMMA),$(COMMA),$(subst $(SPACE),$(COMMA),$(strip $1))) \
       
   103     )
       
   104 
    78 JRE_MODULES_LIST := $(call SubstComma, $(JRE_MODULES))
   105 JRE_MODULES_LIST := $(call SubstComma, $(JRE_MODULES))
    79 JDK_MODULES_LIST := $(call SubstComma, $(JDK_MODULES))
   106 JDK_MODULES_LIST := $(call SubstComma, $(JDK_MODULES))
    80 
   107 JRE_COMPACT1_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT1_MODULES))
    81 ################################################################################
   108 JRE_COMPACT2_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT2_MODULES))
    82 
   109 JRE_COMPACT3_MODULES_LIST := $(call SubstComma, $(JRE_COMPACT3_MODULES))
    83 JRE_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/jre-sorted-modules
   110 
    84 JDK_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/jdk-sorted-modules
   111 ################################################################################
    85 JRE_COMPACT1_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/compact1-sorted-modules
   112 # Release file
    86 JRE_COMPACT2_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/compact2-sorted-modules
   113 
    87 JRE_COMPACT3_SORTED_MODULES := $(SUPPORT_OUTPUTDIR)/compact3-sorted-modules
   114 BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release
    88 
   115 
    89 
   116 # Common way to emit a line into the release or info file
    90 MODULES_CMDS := $(SUPPORT_OUTPUTDIR)/modules_cmds-stripped
   117 define info-file-item # name value
    91 MODULES_LIBS := $(SUPPORT_OUTPUTDIR)/modules_libs-stripped
   118   $(PRINTF) '%s="%s"\n' $1 $2 >> $@
    92 MODULES_CONF := $(SUPPORT_OUTPUTDIR)/modules_conf
   119 endef
    93 
   120 
    94 JIMAGE_TOOL := $(JAVA_SMALL) \
   121 # Param 1 - The file containing the MODULES list
    95     -Xbootclasspath/p:$(BUILDTOOLS_OUTPUTDIR)/interim_jimage_classes \
   122 define create-info-file
    96     -cp $(BUILDTOOLS_OUTPUTDIR)/jdk_tools_classes build.tools.module.ImageBuilder \
   123   $(call info-file-item, "JAVA_VERSION", "$(VERSION_NUMBER)")
    97     --cmds $(MODULES_CMDS) \
   124   $(call info-file-item, "JAVA_FULL_VERSION", "$(VERSION_STRING)")
    98     --libs $(MODULES_LIBS) \
   125   $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)")
    99     --configs $(MODULES_CONF) \
   126   $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)")
   100     --classes $(JDK_OUTPUTDIR)/modules \
   127   $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)")
   101     --endian $(OPENJDK_TARGET_CPU_ENDIAN) \
   128   $(if $(JDK_ARCH_ABI_PROP_NAME), \
   102     #
   129     $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)"))
   103 
   130   $(call info-file-item, "SOURCE", "$(strip $(ALL_SOURCE_TIPS))")
   104 MODULES_XML += $(SRC_ROOT)/modules.xml
   131 endef
   105 DEPENDENCIES := $(call CacheFind, \
   132 
   106     $(SUPPORT_OUTPUTDIR)/modules_cmds \
   133 # Param 1 - The file containing the MODULES list
   107     $(SUPPORT_OUTPUTDIR)/modules_conf \
   134 define prepare-info-file
   108     $(SUPPORT_OUTPUTDIR)/modules_libs) \
   135   $(ECHO) $(LOG_INFO) Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
   109     $(wildcard $(JDK_OUTPUTDIR)/modules/*/_*) \
   136   $(MKDIR) -p $(@D)
   110     $(MODULES_XML)
   137   $(RM) $@
   111     #
   138 endef
       
   139 
       
   140 define info-file
       
   141   $(call prepare-info-file)
       
   142   $(call create-info-file)
       
   143 endef
       
   144 
       
   145 # Create a variable dependency file common for all release info files.
       
   146 INFO_FILE_VARDEPS := $(call DependOnVariable, create-info-file)
       
   147 
       
   148 ALL_SOURCE_TIPS = $(shell \
       
   149     if [ -f $(SUPPORT_OUTPUTDIR)/source_tips ] ; then \
       
   150       $(CAT) $(SUPPORT_OUTPUTDIR)/source_tips ; \
       
   151     fi)
       
   152 
       
   153 $(BASE_RELEASE_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips
       
   154 	$(info-file)
       
   155 
       
   156 ################################################################################
       
   157 
       
   158 JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
   112 
   159 
   113 # Use this file inside the image as target for make rule
   160 # Use this file inside the image as target for make rule
   114 JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
   161 JIMAGE_TARGET_FILE := bin/java$(EXE_SUFFIX)
   115 
   162 
   116 $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \
   163 JLINK_TOOL := $(JLINK) --modulepath $(IMAGES_OUTPUTDIR)/jmods \
   117     $(call DependOnVariable, JDK_MODULES_LIST)
   164               --endian $(OPENJDK_BUILD_CPU_ENDIAN) \
       
   165               --release-info $(BASE_RELEASE_FILE)
       
   166 
       
   167 ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true)
       
   168   JLINK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
       
   169 endif
       
   170 
       
   171 $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
       
   172     $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE)
   118 	$(ECHO) Creating jdk jimage
   173 	$(ECHO) Creating jdk jimage
   119 	$(RM) -r $(JDK_IMAGE_DIR) $(JDK_SORTED_MODULES)
   174 	$(RM) -r $(JDK_IMAGE_DIR)
   120 	$(JIMAGE_TOOL) --mods $(JDK_MODULES_LIST) --output $(JDK_IMAGE_DIR) \
   175 	$(JLINK_TOOL) --output $(JDK_IMAGE_DIR) \
   121 	    $(MODULES_XML) > $(JDK_SORTED_MODULES)
   176 	    --addmods $(JDK_MODULES_LIST) $(JLINK_EXTRA_OPTS)
   122 	$(TOUCH) $@
   177 	$(TOUCH) $@
   123 
   178 
   124 $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \
   179 $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
   125     $(call DependOnVariable, JRE_MODULES_LIST)
   180     $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
   126 	$(ECHO) Creating jre jimage
   181 	$(ECHO) Creating jre jimage
   127 	$(RM) -r $(JRE_IMAGE_DIR) $(JRE_SORTED_MODULES)
   182 	$(RM) -r $(JRE_IMAGE_DIR)
   128 	$(JIMAGE_TOOL) --mods $(JRE_MODULES_LIST) --output $(JRE_IMAGE_DIR) \
   183 	$(JLINK_TOOL) --output $(JRE_IMAGE_DIR) \
   129 	    $(MODULES_XML) > $(JRE_SORTED_MODULES)
   184 	    --addmods $(JRE_MODULES_LIST)
   130 	$(TOUCH) $@
   185 	$(TOUCH) $@
   131 
   186 
   132 JRE_COMPACT1_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact1
   187 JRE_COMPACT1_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact1
   133 JRE_COMPACT2_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact2
   188 JRE_COMPACT2_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact2
   134 JRE_COMPACT3_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact3
   189 JRE_COMPACT3_IMAGE_DIR := $(JRE_IMAGE_DIR)-compact3
   135 
   190 
   136 COMPACT_EXTRA_MODULES := jdk.localedata jdk.crypto.pkcs11 jdk.crypto.ec
   191 $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
   137 
   192     $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST) $(BASE_RELEASE_FILE)
   138 $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \
       
   139     $(call DependOnVariable, JRE_COMPACT1_MODULES_LIST)
       
   140 	$(ECHO) Creating jre compact1 jimage
   193 	$(ECHO) Creating jre compact1 jimage
   141 	$(RM) -r $(JRE_COMPACT1_IMAGE_DIR) $(JRE_COMPACT1_SORTED_MODULES)
   194 	$(RM) -r $(JRE_COMPACT1_IMAGE_DIR)
   142 	$(JIMAGE_TOOL) \
   195 	$(JLINK_TOOL) --addmods $(JRE_COMPACT1_MODULES_LIST) \
   143 	    --mods $(call SubstComma, java.compact1 $(COMPACT_EXTRA_MODULES)) \
   196 	    --output $(JRE_COMPACT1_IMAGE_DIR)
   144 	    --output $(JRE_COMPACT1_IMAGE_DIR) \
       
   145 	    $(MODULES_XML) > $(JRE_COMPACT1_SORTED_MODULES)
       
   146 	$(TOUCH) $@
   197 	$(TOUCH) $@
   147 
   198 
   148 $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \
   199 $(JRE_COMPACT2_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
   149     $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST)
   200     $(call DependOnVariable, JRE_COMPACT2_MODULES_LIST) $(BASE_RELEASE_FILE)
   150 	$(ECHO) Creating jre compact2 jimage
   201 	$(ECHO) Creating jre compact2 jimage
   151 	$(RM) -r $(JRE_COMPACT2_IMAGE_DIR) $(JRE_COMPACT2_SORTED_MODULES)
   202 	$(RM) -r $(JRE_COMPACT2_IMAGE_DIR)
   152 	$(JIMAGE_TOOL) \
   203 	$(JLINK_TOOL) --addmods $(JRE_COMPACT2_MODULES_LIST) \
   153 	    --mods $(call SubstComma, java.compact2 $(COMPACT_EXTRA_MODULES)) \
   204 	    --output $(JRE_COMPACT2_IMAGE_DIR)
   154 	    --output $(JRE_COMPACT2_IMAGE_DIR) \
       
   155 	    $(MODULES_XML) > $(JRE_COMPACT2_SORTED_MODULES)
       
   156 	$(TOUCH) $@
   205 	$(TOUCH) $@
   157 
   206 
   158 $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(DEPENDENCIES) \
   207 $(JRE_COMPACT3_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
   159     $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST)
   208     $(call DependOnVariable, JRE_COMPACT3_MODULES_LIST) $(BASE_RELEASE_FILE)
   160 	$(ECHO) Creating jre compact3 jimage
   209 	$(ECHO) Creating jre compact3 jimage
   161 	$(RM) -r $(JRE_COMPACT3_IMAGE_DIR) $(JRE_COMPACT3_SORTED_MODULES)
   210 	$(RM) -r $(JRE_COMPACT3_IMAGE_DIR)
   162 	$(JIMAGE_TOOL) \
   211 	$(JLINK_TOOL) --addmods $(JRE_COMPACT3_MODULES_LIST) \
   163 	    --mods $(call SubstComma, $(JDK_COMPACT3_MODULES) $(COMPACT_EXTRA_MODULES)) \
   212 	    --output $(JRE_COMPACT3_IMAGE_DIR)
   164 	    --output $(JRE_COMPACT3_IMAGE_DIR) \
       
   165 	    $(MODULES_XML) > $(JRE_COMPACT3_SORTED_MODULES)
       
   166 	$(TOUCH) $@
   213 	$(TOUCH) $@
   167 
   214 
   168 TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   215 TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   169 TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   216 TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   170 TOOL_JRE_COMPACT1_TARGETS := $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   217 TOOL_JRE_COMPACT1_TARGETS := $(JRE_COMPACT1_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   344 
   391 
   345 JRE_TARGETS += $(JRE_DOC_TARGETS)
   392 JRE_TARGETS += $(JRE_DOC_TARGETS)
   346 JDK_TARGETS += $(JDK_DOC_TARGETS)
   393 JDK_TARGETS += $(JDK_DOC_TARGETS)
   347 
   394 
   348 ################################################################################
   395 ################################################################################
   349 # Release file
       
   350 
       
   351 JRE_INFO_FILE := $(JRE_IMAGE_DIR)/release
       
   352 JDK_INFO_FILE := $(JDK_IMAGE_DIR)/release
       
   353 JRE_COMPACT1_INFO_FILE := $(JRE_COMPACT1_IMAGE_DIR)/release
       
   354 JRE_COMPACT2_INFO_FILE := $(JRE_COMPACT2_IMAGE_DIR)/release
       
   355 JRE_COMPACT3_INFO_FILE := $(JRE_COMPACT3_IMAGE_DIR)/release
       
   356 
       
   357 # Common way to emit a line into the release or info file
       
   358 define info-file-item # name value
       
   359   $(PRINTF) '%s="%s"\n' $1 $2 >> $@
       
   360 endef
       
   361 
       
   362 # Param 1 - The file containing the MODULES list
       
   363 define create-info-file
       
   364   $(call info-file-item, "JAVA_VERSION", "$(VERSION_NUMBER)")
       
   365   $(call info-file-item, "JAVA_FULL_VERSION", "$(VERSION_STRING)")
       
   366   $(call info-file-item, "OS_NAME", "$(REQUIRED_OS_NAME)")
       
   367   $(call info-file-item, "OS_VERSION", "$(REQUIRED_OS_VERSION)")
       
   368   $(call info-file-item, "OS_ARCH", "$(OPENJDK_TARGET_CPU_LEGACY)")
       
   369   $(if $(JDK_ARCH_ABI_PROP_NAME), \
       
   370     $(call info-file-item, "SUN_ARCH_ABI", "$(JDK_ARCH_ABI_PROP_NAME)"))
       
   371   $(call info-file-item, "SOURCE", "$(strip $(ALL_SOURCE_TIPS))")
       
   372   $(call info-file-item, "MODULES", "`$(CAT) $1`")
       
   373 endef
       
   374 
       
   375 # Param 1 - The file containing the MODULES list
       
   376 define prepare-info-file
       
   377   $(call LogInfo, Generating $(patsubst $(OUTPUT_ROOT)/%,%,$@))
       
   378   $(MKDIR) -p $(@D)
       
   379   $(RM) $@
       
   380 endef
       
   381 
       
   382 define info-file
       
   383   $(call prepare-info-file, $1)
       
   384   $(call create-info-file, $1)
       
   385 endef
       
   386 
       
   387 # Create a variable dependency file common for all release info files. The
       
   388 # sorted module list will only change if the image is regenerated, which will
       
   389 # trigger a rebuild of these files anyway.
       
   390 INFO_FILE_VARDEPS := $(call DependOnVariable, create-info-file)
       
   391 
       
   392 ALL_SOURCE_TIPS = $(shell \
       
   393     if [ -f $(SUPPORT_OUTPUTDIR)/source_tips ] ; then \
       
   394       $(CAT) $(SUPPORT_OUTPUTDIR)/source_tips ; \
       
   395     fi)
       
   396 
       
   397 $(JRE_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips
       
   398 	$(call info-file, $(JRE_SORTED_MODULES))
       
   399 
       
   400 $(JDK_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips
       
   401 	$(call info-file, $(JDK_SORTED_MODULES))
       
   402 
       
   403 $(JRE_COMPACT1_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips
       
   404 	$(call info-file, $(JRE_COMPACT1_SORTED_MODULES))
       
   405 	$(call info-file-item, "JAVA_PROFILE", "compact1")
       
   406 
       
   407 $(JRE_COMPACT2_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips
       
   408 	$(call info-file, $(JRE_COMPACT2_SORTED_MODULES))
       
   409 	$(call info-file-item, "JAVA_PROFILE", "compact2")
       
   410 
       
   411 $(JRE_COMPACT3_INFO_FILE): $(INFO_FILE_VARDEPS) $(SUPPORT_OUTPUTDIR)/source_tips
       
   412 	$(call info-file, $(JRE_COMPACT3_SORTED_MODULES))
       
   413 	$(call info-file-item, "JAVA_PROFILE", "compact3")
       
   414 
       
   415 JRE_TARGETS += $(JRE_INFO_FILE)
       
   416 JDK_TARGETS += $(JDK_INFO_FILE)
       
   417 JRE_COMPACT1_TARGETS += $(JRE_COMPACT1_INFO_FILE)
       
   418 JRE_COMPACT2_TARGETS += $(JRE_COMPACT2_INFO_FILE)
       
   419 JRE_COMPACT3_TARGETS += $(JRE_COMPACT3_INFO_FILE)
       
   420 
       
   421 ################################################################################
       
   422 # src.zip
   396 # src.zip
   423 
   397 
   424 $(JDK_IMAGE_DIR)/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
   398 $(JDK_IMAGE_DIR)/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
   425 	$(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@))
   399 	$(call LogInfo, Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@))
   426 	$(install-file)
   400 	$(install-file)
   433   $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \
   407   $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \
   434       SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
   408       SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
   435       DEST := $(JDK_IMAGE_DIR)/demo, \
   409       DEST := $(JDK_IMAGE_DIR)/demo, \
   436       FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \
   410       FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \
   437           $(call DoubleDollar, $(call DoubleDollar, \
   411           $(call DoubleDollar, $(call DoubleDollar, \
   438           $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \
   412       $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \
   439           -type f -a ! \( -name "_the*" -o -name "javac_state" \) )))), \
   413           -type f -a ! \( -name "_the*" -o -name "javac_state" \) )))), \
   440   ))
   414   ))
   441 
   415 
   442   JDK_TARGETS += $(JDK_COPY_DEMOS)
   416   JDK_TARGETS += $(JDK_COPY_DEMOS)
   443 endif
   417 endif
   444 
   418 
   445 ################################################################################
   419 ################################################################################
   446 # /sample dir
   420 # /sample dir
   447 
   421 
   448 $(eval $(call SetupCopyFiles, COPY_SAMPLES, \
   422 $(eval $(call SetupCopyFiles,COPY_SAMPLES, \
   449     SRC := $(SUPPORT_OUTPUTDIR)/sample/image, \
   423     SRC := $(SUPPORT_OUTPUTDIR)/sample/image, \
   450     DEST := $(JDK_IMAGE_DIR)/sample, \
   424     DEST := $(JDK_IMAGE_DIR)/sample, \
   451     FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample/image), \
   425     FILES := $(if $(wildcard $(SUPPORT_OUTPUTDIR)/sample/image), \
   452         $(call CacheFind,$(SUPPORT_OUTPUTDIR)/sample/image))))
   426         $(call CacheFind,$(SUPPORT_OUTPUTDIR)/sample/image))))
   453 
   427