--- 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