make/Images.gmk
branchihse-setupexecute-branch
changeset 57163 53d23a244f6e
parent 53110 50677f43ac3d
child 57229 37f1897abaf0
equal deleted inserted replaced
57162:e1a04d30f1c7 57163:53d23a244f6e
    25 
    25 
    26 default: all
    26 default: all
    27 
    27 
    28 include $(SPEC)
    28 include $(SPEC)
    29 include MakeBase.gmk
    29 include MakeBase.gmk
       
    30 include Execute.gmk
    30 include Modules.gmk
    31 include Modules.gmk
    31 
    32 
    32 TOOL_TARGETS :=
       
    33 JDK_TARGETS :=
    33 JDK_TARGETS :=
    34 JRE_TARGETS :=
    34 JRE_TARGETS :=
    35 
    35 
    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))
    53 ################################################################################
    53 ################################################################################
    54 
    54 
    55 BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release
    55 BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release
    56 
    56 
    57 JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
    57 JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
    58 
       
    59 # Use this file inside the image as target for make rule
       
    60 JIMAGE_TARGET_FILE := release
       
    61 
    58 
    62 JLINK_ORDER_RESOURCES := **module-info.class
    59 JLINK_ORDER_RESOURCES := **module-info.class
    63 JLINK_JLI_CLASSES :=
    60 JLINK_JLI_CLASSES :=
    64 ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
    61 ifeq ($(ENABLE_GENERATE_CLASSLIST), true)
    65   JLINK_ORDER_RESOURCES += @$(SUPPORT_OUTPUTDIR)/link_opt/classlist
    62   JLINK_ORDER_RESOURCES += @$(SUPPORT_OUTPUTDIR)/link_opt/classlist
    86 
    83 
    87 ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true)
    84 ifeq ($(JLINK_KEEP_PACKAGED_MODULES), true)
    88   JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
    85   JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods
    89 endif
    86 endif
    90 
    87 
    91 $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
    88 $(eval $(call SetupExecute, jlink_jdk, \
    92     $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE)
    89     WARN := Creating jdk image, \
    93 	$(call LogWarn, Creating jdk image)
    90     DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
    94 	$(RM) -r $(JDK_IMAGE_DIR)
    91         $(call DependOnVariable, JDK_MODULES_LIST), \
    95 	$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \
    92     OUTPUT_DIR := $(JDK_IMAGE_DIR), \
    96 	    $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
    93     SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
    97 	        $(JLINK_JDK_EXTRA_OPTS) \
    94     PRE_COMMAND := $(RM) -r $(JDK_IMAGE_DIR), \
    98 	        --output $(JDK_IMAGE_DIR) \
    95     COMMAND := $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
    99 	)
    96         $(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR), \
   100         ifeq ($(BUILD_CDS_ARCHIVE), true)
    97 ))
   101 	  $(call LogWarn, Creating CDS archive for jdk image)
    98 
   102 	  $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java \
    99 JLINK_JDK_TARGETS := $(jlink_jdk)
   103 	      -Xshare:dump -Xmx128M -Xms128M $(LOG_INFO)
   100 
   104         endif
   101 $(eval $(call SetupExecute, jlink_jre, \
   105 	$(TOUCH) $@
   102     WARN := Creating legacy jre image, \
   106 
   103     DEPS := $(JMODS) $(BASE_RELEASE_FILE) \
   107 $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
   104         $(call DependOnVariable, JDK_MODULES_LIST), \
   108     $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
   105     OUTPUT_DIR := $(JDK_IMAGE_DIR), \
   109 	$(call LogWarn, Creating legacy jre image)
   106     SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
   110 	$(RM) -r $(JRE_IMAGE_DIR)
   107     PRE_COMMAND := $(RM) -r $(JRE_IMAGE_DIR), \
   111 	$(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \
   108     COMMAND := $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
   112 	    $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
   109         $(JLINK_JRE_EXTRA_OPTS) --output $(JRE_IMAGE_DIR), \
   113 	        $(JLINK_JRE_EXTRA_OPTS) \
   110 ))
   114 	        --output $(JRE_IMAGE_DIR) \
   111 
   115 	)
   112 JLINK_JRE_TARGETS := $(jlink_jre)
   116         ifeq ($(BUILD_CDS_ARCHIVE), true)
   113 
   117 	  $(call LogWarn, Creating CDS archive for jre image)
   114 ifeq ($(BUILD_CDS_ARCHIVE), true)
   118 	  $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java \
   115   CDS_ARCHIVE := lib/server/classes.jsa
   119 	      -Xshare:dump -Xmx128M -Xms128M $(LOG_INFO)
   116 
   120         endif
   117   $(eval $(call SetupExecute, gen_cds_archive_jdk, \
   121 	$(TOUCH) $@
   118       WARN := Creating CDS archive for jdk image, \
   122 
   119       DEPS := $(jlink_jdk), \
   123 TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   120       OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_ARCHIVE), \
   124 TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE)
   121       SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \
       
   122       COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
       
   123           -Xmx128M -Xms128M $(LOG_INFO), \
       
   124   ))
       
   125 
       
   126   JDK_TARGETS += $(gen_cds_archive_jdk)
       
   127 
       
   128   $(eval $(call SetupExecute, gen_cds_archive_jre, \
       
   129       WARN := Creating CDS archive for jre image, \
       
   130       DEPS := $(jlink_jre), \
       
   131       OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_ARCHIVE), \
       
   132       SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \
       
   133       COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
       
   134           -Xmx128M -Xms128M $(LOG_INFO), \
       
   135   ))
       
   136 
       
   137   JDK_TARGETS += $(gen_cds_archive_jdk)
       
   138 endif
   125 
   139 
   126 ################################################################################
   140 ################################################################################
   127 # src.zip
   141 # src.zip
   128 
   142 
   129 $(JDK_IMAGE_DIR)/lib/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
   143 $(JDK_IMAGE_DIR)/lib/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
   242 # before actual target prerequisites are declared.
   256 # before actual target prerequisites are declared.
   243 $(eval $(call IncludeCustomExtension, Images-post.gmk))
   257 $(eval $(call IncludeCustomExtension, Images-post.gmk))
   244 
   258 
   245 ################################################################################
   259 ################################################################################
   246 
   260 
   247 $(JRE_TARGETS): $(TOOL_JRE_TARGETS)
   261 $(JRE_TARGETS): $(JLINK_JRE_TARGETS)
   248 $(JDK_TARGETS): $(TOOL_JDK_TARGETS)
   262 $(JDK_TARGETS): $(JLINK_JDK_TARGETS)
   249 
   263 
   250 jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
   264 jdk: $(JLINK_JDK_TARGETS) $(JDK_TARGETS)
   251 jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
   265 jre: $(JLINK_JRE_TARGETS) $(JRE_TARGETS)
   252 symbols: $(SYMBOLS_TARGETS)
   266 symbols: $(SYMBOLS_TARGETS)
   253 
   267 
   254 all: jdk jre symbols
   268 all: jdk jre symbols
   255 
   269 
   256 .PHONY: default all jdk jre symbols
   270 .PHONY: default all jdk jre symbols