127 # src.zip
128
129 $(JDK_IMAGE_DIR)/lib/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
130 $(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
131 $(install-file)
132
133 JDK_TARGETS += $(JDK_IMAGE_DIR)/lib/src.zip
134
135 ################################################################################
136 # /demo dir
137 # Avoid doing the expensive find unless called with "jdk" as target.
138 ifneq ($(filter jdk, $(MAKECMDGOALS)), )
139
140 DEMO_FILES := \
141 $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \
142 $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \
143 -type f -a ! \( -name "_the*" -o -name "javac_state" \) ) \
144 )
145
146 ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
147 ifeq ($(OPENJDK_TARGET_OS), macosx)
148 DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
149 else
150 DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
151 endif
152 endif
153
154 $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \
155 SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
156 DEST := $(JDK_IMAGE_DIR)/demo, \
157 FILES := $(DEMO_FILES), \
158 ))
159
160 JDK_TARGETS += $(JDK_COPY_DEMOS)
161 endif
162
163 ################################################################################
164 # Code coverage data files
165
166 ifeq ($(GCOV_ENABLED), true)
167
175 SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO)
176
177 $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \
178 SRC := $(OUTPUTDIR), \
179 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
180 FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR))))
181
182 SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO)
183
184 endif
185
186 ################################################################################
187 # Debug symbols
188 # Since debug symbols are not included in the jmod files, they need to be copied
189 # in manually after generating the images.
190
191 ALL_JDK_MODULES := $(JDK_MODULES)
192 ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
193 $(call FindTransitiveDepsForModule, $m)))
194
195 ifeq ($(OPENJDK_TARGET_OS), windows)
196 LIBS_TARGET_SUBDIR := bin
197 else
198 LIBS_TARGET_SUBDIR := lib
199 endif
200
201 # Param 1 - dir to find debuginfo files in
202 FindDebuginfoFiles = \
203 $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \
204 $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \
205 $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES)))
206
207 # Pick the correct debug info files to copy, either zipped or not.
208 ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
209 DEBUGINFO_SUFFIXES += .diz
210 else
211 DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
212 # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
213 # dirs.
214 ifeq ($(OPENJDK_TARGET_OS), macosx)
215 $(eval $(call FillCacheFind, \
216 $(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs))
217 FindDebuginfoFiles = \
218 $(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1)))
219 endif
220 endif
221
222 # Param 1 - either JDK or JRE
223 SetupCopyDebuginfo = \
224 $(foreach m, $(ALL_$1_MODULES), \
225 $(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
226 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
227 DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
228 FILES := $(call FindDebuginfoFiles, \
229 $(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
230 )) \
231 $(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
232 )
233
234 # No space before argument to avoid having to put $(strip ) everywhere in
|
127 # src.zip
128
129 $(JDK_IMAGE_DIR)/lib/src.zip: $(SUPPORT_OUTPUTDIR)/src.zip
130 $(call LogInfo, Copying $(patsubst $(OUTPUTDIR)/%,%,$@))
131 $(install-file)
132
133 JDK_TARGETS += $(JDK_IMAGE_DIR)/lib/src.zip
134
135 ################################################################################
136 # /demo dir
137 # Avoid doing the expensive find unless called with "jdk" as target.
138 ifneq ($(filter jdk, $(MAKECMDGOALS)), )
139
140 DEMO_FILES := \
141 $(if $(wildcard $(SUPPORT_OUTPUTDIR)/demos/image), \
142 $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/demos/image \
143 -type f -a ! \( -name "_the*" -o -name "javac_state" \) ) \
144 )
145
146 ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
147 ifeq ($(call isTargetOs, macosx), true)
148 DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
149 else
150 DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
151 endif
152 endif
153
154 $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \
155 SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
156 DEST := $(JDK_IMAGE_DIR)/demo, \
157 FILES := $(DEMO_FILES), \
158 ))
159
160 JDK_TARGETS += $(JDK_COPY_DEMOS)
161 endif
162
163 ################################################################################
164 # Code coverage data files
165
166 ifeq ($(GCOV_ENABLED), true)
167
175 SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO)
176
177 $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \
178 SRC := $(OUTPUTDIR), \
179 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
180 FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR))))
181
182 SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO)
183
184 endif
185
186 ################################################################################
187 # Debug symbols
188 # Since debug symbols are not included in the jmod files, they need to be copied
189 # in manually after generating the images.
190
191 ALL_JDK_MODULES := $(JDK_MODULES)
192 ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
193 $(call FindTransitiveDepsForModule, $m)))
194
195 ifeq ($(call isTargetOs, windows), true)
196 LIBS_TARGET_SUBDIR := bin
197 else
198 LIBS_TARGET_SUBDIR := lib
199 endif
200
201 # Param 1 - dir to find debuginfo files in
202 FindDebuginfoFiles = \
203 $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \
204 $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \
205 $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES)))
206
207 # Pick the correct debug info files to copy, either zipped or not.
208 ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
209 DEBUGINFO_SUFFIXES += .diz
210 else
211 DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
212 # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
213 # dirs.
214 ifeq ($(call isTargetOs, macosx), true)
215 $(eval $(call FillCacheFind, \
216 $(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs))
217 FindDebuginfoFiles = \
218 $(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1)))
219 endif
220 endif
221
222 # Param 1 - either JDK or JRE
223 SetupCopyDebuginfo = \
224 $(foreach m, $(ALL_$1_MODULES), \
225 $(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
226 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
227 DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
228 FILES := $(call FindDebuginfoFiles, \
229 $(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
230 )) \
231 $(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
232 )
233
234 # No space before argument to avoid having to put $(strip ) everywhere in
|