1
1
#
2
- # Copyright (c) 2014, 2022 , Oracle and/or its affiliates. All rights reserved.
2
+ # Copyright (c) 2014, 2023 , Oracle and/or its affiliates. All rights reserved.
3
3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
4
#
5
5
# This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,7 @@ include $(SPEC)
29
29
include MakeBase.gmk
30
30
include Execute.gmk
31
31
include Modules.gmk
32
+ include Utils.gmk
32
33
33
34
JDK_TARGETS :=
34
35
JRE_TARGETS :=
@@ -39,7 +40,7 @@ $(eval $(call IncludeCustomExtension, Images-pre.gmk))
39
40
################################################################################
40
41
41
42
# All modules for the current target platform.
42
- ALL_MODULES := $(call FindAllModules)
43
+ ALL_MODULES := $(call FindAllModules) $(EXTRA_MODULES)
43
44
44
45
$(eval $(call ReadImportMetaData))
45
46
@@ -54,7 +55,10 @@ JDK_MODULES_LIST := $(call CommaList, $(JDK_MODULES))
54
55
55
56
BASE_RELEASE_FILE := $(JDK_OUTPUTDIR)/release
56
57
57
- JMODS := $(wildcard $(IMAGES_OUTPUTDIR)/jmods/*.jmod)
58
+ JMODS_DIRS := $(EXTRA_JMODS_DIR) $(IMAGES_OUTPUTDIR)/jmods
59
+
60
+ JDK_JMODS := $(foreach m, $(JDK_MODULES), $(firstword $(wildcard $(addsuffix /$m.jmod, $(JMODS_DIRS)))))
61
+ JRE_JMODS := $(foreach m, $(JRE_MODULES), $(firstword $(wildcard $(addsuffix /$m.jmod, $(JMODS_DIRS)))))
58
62
59
63
JLINK_ORDER_RESOURCES := **module-info.class
60
64
JLINK_JLI_CLASSES :=
@@ -71,7 +75,7 @@ JLINK_ORDER_RESOURCES += \
71
75
#
72
76
73
77
JLINK_TOOL := $(JLINK) -J-Djlink.debug=true \
74
- --module-path $(IMAGES_OUTPUTDIR)/jmods \
78
+ --module-path $(call PathList, $(JMODS_DIRS)) \
75
79
--endian $(OPENJDK_TARGET_CPU_ENDIAN) \
76
80
--release-info $(BASE_RELEASE_FILE) \
77
81
--order-resources=$(call CommaList, $(JLINK_ORDER_RESOURCES)) \
@@ -87,12 +91,15 @@ endif
87
91
88
92
JLINK_DISABLE_WARNINGS := | ( $(GREP) -v -e "WARNING: Using incubator module" || test "$$?" = "1" )
89
93
94
+ JDK_IMAGE_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk
95
+ JRE_IMAGE_SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre
96
+
90
97
$(eval $(call SetupExecute, jlink_jdk, \
91
98
WARN := Creating jdk image, \
92
- DEPS := $(JMODS ) $(BASE_RELEASE_FILE) \
93
- $(call DependOnVariable, JDK_MODULES_LIST), \
99
+ DEPS := $(JDK_JMODS ) $(BASE_RELEASE_FILE) \
100
+ $(call DependOnVariable, JDK_MODULES_LIST, $(JDK_IMAGE_SUPPORT_DIR)/_jlink_jdk.vardeps ), \
94
101
OUTPUT_DIR := $(JDK_IMAGE_DIR), \
95
- SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jdk , \
102
+ SUPPORT_DIR := $(JDK_IMAGE_SUPPORT_DIR) , \
96
103
PRE_COMMAND := $(RM) -r $(JDK_IMAGE_DIR), \
97
104
COMMAND := $(JLINK_TOOL) --add-modules $(JDK_MODULES_LIST) \
98
105
$(JLINK_JDK_EXTRA_OPTS) --output $(JDK_IMAGE_DIR) \
@@ -103,10 +110,10 @@ JLINK_JDK_TARGETS := $(jlink_jdk)
103
110
104
111
$(eval $(call SetupExecute, jlink_jre, \
105
112
WARN := Creating legacy jre image, \
106
- DEPS := $(JMODS ) $(BASE_RELEASE_FILE) \
107
- $(call DependOnVariable, JDK_MODULES_LIST ), \
113
+ DEPS := $(JRE_JMODS ) $(BASE_RELEASE_FILE) \
114
+ $(call DependOnVariable, JRE_MODULES_LIST, $(JRE_IMAGE_SUPPORT_DIR)/_jlink_jre.vardeps ), \
108
115
OUTPUT_DIR := $(JRE_IMAGE_DIR), \
109
- SUPPORT_DIR := $(SUPPORT_OUTPUTDIR)/images/jre , \
116
+ SUPPORT_DIR := $(JRE_IMAGE_SUPPORT_DIR) , \
110
117
PRE_COMMAND := $(RM) -r $(JRE_IMAGE_DIR), \
111
118
COMMAND := $(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
112
119
$(JLINK_JRE_EXTRA_OPTS) --output $(JRE_IMAGE_DIR), \
@@ -142,7 +149,7 @@ define CreateCDSArchive
142
149
INFO := Using CDS flags for $1: $$($1_$2_CDS_DUMP_FLAGS), \
143
150
DEPS := $$(jlink_jdk), \
144
151
OUTPUT_FILE := $$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE), \
145
- SUPPORT_DIR := $$(SUPPORT_OUTPUTDIR)/images/jdk , \
152
+ SUPPORT_DIR := $$(JDK_IMAGE_SUPPORT_DIR) , \
146
153
COMMAND := $$(FIXPATH) $$(JDK_IMAGE_DIR)/bin/java -Xshare:dump \
147
154
-XX:SharedArchiveFile=$$(JDK_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE) \
148
155
-$1 $$($1_$2_DUMP_EXTRA_ARG) $$($1_$2_CDS_DUMP_FLAGS) $$(LOG_INFO), \
@@ -155,7 +162,7 @@ define CreateCDSArchive
155
162
INFO := Using CDS flags for $1: $$($1_$2_CDS_DUMP_FLAGS), \
156
163
DEPS := $$(jlink_jre), \
157
164
OUTPUT_FILE := $$(JRE_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE), \
158
- SUPPORT_DIR := $$(SUPPORT_OUTPUTDIR)/images/jre , \
165
+ SUPPORT_DIR := $$(JRE_IMAGE_SUPPORT_DIR) , \
159
166
COMMAND := $$(FIXPATH) $$(JRE_IMAGE_DIR)/bin/java -Xshare:dump \
160
167
-XX:SharedArchiveFile=$$(JRE_IMAGE_DIR)/$$($1_$2_CDS_ARCHIVE) \
161
168
-$1 $$($1_$2_DUMP_EXTRA_ARG) $$($1_$2_CDS_DUMP_FLAGS) $$(LOG_INFO), \
0 commit comments