diff -r 77343f5c85cb -r ecc2bcc3beb0 make/Images.gmk --- a/make/Images.gmk Mon Mar 04 19:38:50 2019 -0500 +++ b/make/Images.gmk Tue Mar 05 11:07:19 2019 +0100 @@ -1,5 +1,5 @@ # -# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -27,9 +27,9 @@ include $(SPEC) include MakeBase.gmk +include Execute.gmk include Modules.gmk -TOOL_TARGETS := JDK_TARGETS := JRE_TARGETS := @@ -56,9 +56,6 @@ JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod) -# Use this file inside the image as target for make rule -JIMAGE_TARGET_FILE := release - JLINK_ORDER_RESOURCES := **module-info.class JLINK_JLI_CLASSES := ifeq ($(ENABLE_GENERATE_CLASSLIST), true) @@ -88,40 +85,57 @@ JLINK_JDK_EXTRA_OPTS := --keep-packaged-modules $(JDK_IMAGE_DIR)/jmods endif -$(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ - $(call DependOnVariable, JDK_MODULES_LIST) $(BASE_RELEASE_FILE) - $(call LogWarn, Creating jdk image) - $(RM) -r $(JDK_IMAGE_DIR) - $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jdk, \ - $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \ - $(JLINK_JDK_EXTRA_OPTS) \ - --output $(JDK_IMAGE_DIR) \ - ) - ifeq ($(BUILD_CDS_ARCHIVE), true) - $(call LogWarn, Creating CDS archive for jdk image) - $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java \ - -Xshare:dump -Xmx128M -Xms128M $(LOG_INFO) - endif - $(TOUCH) $@ +$(eval $(call SetupExecute, jlink_jdk, \ + WARN := Creating jdk image, \ + DEPS := $(JMODS) $(BASE_RELEASE_FILE) \ + $(call DependOnVariable, JDK_MODULES_LIST), \ + OUTPUT_DIR := $(JDK_IMAGE_DIR), \ + SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \ + PRE_COMMAND := $(RM) -r $(JDK_IMAGE_DIR), \ + COMMAND := $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \ + $(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR), \ +)) + +JLINK_JDK_TARGETS := $(jlink_jdk) + +$(eval $(call SetupExecute, jlink_jre, \ + WARN := Creating legacy jre image, \ + DEPS := $(JMODS) $(BASE_RELEASE_FILE) \ + $(call DependOnVariable, JDK_MODULES_LIST), \ + OUTPUT_DIR := $(JDK_IMAGE_DIR), \ + SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \ + PRE_COMMAND := $(RM) -r $(JRE_IMAGE_DIR), \ + COMMAND := $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \ + $(JLINK_JRE_EXTRA_OPTS) --output $(JRE_IMAGE_DIR), \ +)) + +JLINK_JRE_TARGETS := $(jlink_jre) -$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \ - $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE) - $(call LogWarn, Creating legacy jre image) - $(RM) -r $(JRE_IMAGE_DIR) - $(call ExecuteWithLog, $(SUPPORT_OUTPUTDIR)/images/jre, \ - $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \ - $(JLINK_JRE_EXTRA_OPTS) \ - --output $(JRE_IMAGE_DIR) \ - ) - ifeq ($(BUILD_CDS_ARCHIVE), true) - $(call LogWarn, Creating CDS archive for jre image) - $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java \ - -Xshare:dump -Xmx128M -Xms128M $(LOG_INFO) - endif - $(TOUCH) $@ +ifeq ($(BUILD_CDS_ARCHIVE), true) + CDS_ARCHIVE := lib/server/classes.jsa + + $(eval $(call SetupExecute, gen_cds_archive_jdk, \ + WARN := Creating CDS archive for jdk image, \ + DEPS := $(jlink_jdk), \ + OUTPUT_FILE := $(JDK_IMAGE_DIR)/$(CDS_ARCHIVE), \ + SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk, \ + COMMAND := $(FIXPATH) $(JDK_IMAGE_DIR)/bin/java -Xshare:dump \ + -Xmx128M -Xms128M $(LOG_INFO), \ + )) -TOOL_JRE_TARGETS := $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) -TOOL_JDK_TARGETS := $(JDK_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) + JDK_TARGETS += $(gen_cds_archive_jdk) + + $(eval $(call SetupExecute, gen_cds_archive_jre, \ + WARN := Creating CDS archive for jre image, \ + DEPS := $(jlink_jre), \ + OUTPUT_FILE := $(JRE_IMAGE_DIR)/$(CDS_ARCHIVE), \ + SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre, \ + COMMAND := $(FIXPATH) $(JRE_IMAGE_DIR)/bin/java -Xshare:dump \ + -Xmx128M -Xms128M $(LOG_INFO), \ + )) + + JDK_TARGETS += $(gen_cds_archive_jdk) +endif ################################################################################ # src.zip @@ -244,11 +258,11 @@ ################################################################################ -$(JRE_TARGETS): $(TOOL_JRE_TARGETS) -$(JDK_TARGETS): $(TOOL_JDK_TARGETS) +$(JRE_TARGETS): $(JLINK_JRE_TARGETS) +$(JDK_TARGETS): $(JLINK_JDK_TARGETS) -jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS) -jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS) +jdk: $(JLINK_JDK_TARGETS) $(JDK_TARGETS) +jre: $(JLINK_JRE_TARGETS) $(JRE_TARGETS) symbols: $(SYMBOLS_TARGETS) all: jdk jre symbols