259 DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
260 else
261 DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
262 endif
263 endif
264
265 $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \
266 SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
267 DEST := $(JDK_IMAGE_DIR)/demo, \
268 FILES := $(DEMO_FILES), \
269 ))
270
271 JDK_TARGETS += $(JDK_COPY_DEMOS)
272 endif
273
274 ################################################################################
275 # Code coverage data files
276
277 ifeq ($(GCOV_ENABLED), true)
278
279 GCOV_FIND_EXPR := -type f -name "*.gcno"
280
281 $(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \
282 SRC := $(OUTPUTDIR), \
283 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
284 FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR))))
285
286 SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO)
287
288 $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \
289 SRC := $(OUTPUTDIR), \
290 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
291 FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR))))
292
293 SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO)
294
295 endif
296
297 ################################################################################
298 # Debug symbols
299 # Since debug symbols are not included in the jmod files, they need to be copied
300 # in manually after generating the images.
301
302 ALL_JDK_MODULES := $(JDK_MODULES)
303 ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
304 $(call FindTransitiveDepsForModule, $m)))
305
306 ifeq ($(OPENJDK_TARGET_OS), windows)
307 LIBS_TARGET_SUBDIR := bin
308 else
309 LIBS_TARGET_SUBDIR := lib
310 endif
311
312 # Param 1 - dir to find debuginfo files in
313 FindDebuginfoFiles = \
314 $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \
315 $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \
316 $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES)))
317
318 # Pick the correct debug info files to copy, either zipped or not.
319 ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
320 DEBUGINFO_SUFFIXES += .diz
321 else
322 DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
323 # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
324 # dirs.
325 ifeq ($(OPENJDK_TARGET_OS), macosx)
326 $(eval $(call FillCacheFind, \
327 $(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs))
328 FindDebuginfoFiles = \
329 $(if $(wildcard $1), $(call containing, .dSYM/, $(call CacheFind, $1)))
330 endif
331 endif
332
333 # Param 1 - either JDK or JRE
334 SetupCopyDebuginfo = \
335 $(foreach m, $(ALL_$1_MODULES), \
336 $(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
337 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
338 DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
339 FILES := $(call FindDebuginfoFiles, \
340 $(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
341 )) \
342 $(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
343 )
344
345 # No space before argument to avoid having to put $(strip ) everywhere in
346 # implementation above.
347 $(call SetupCopyDebuginfo,JDK)
348 $(call SetupCopyDebuginfo,JRE)
349
|
259 DEMO_FILES := $(call not-containing, .dSYM, $(DEMO_FILES))
260 else
261 DEMO_FILES := $(filter-out %.debuginfo %.pdb %.map, $(DEMO_FILES))
262 endif
263 endif
264
265 $(eval $(call SetupCopyFiles, JDK_COPY_DEMOS, \
266 SRC := $(SUPPORT_OUTPUTDIR)/demos/image, \
267 DEST := $(JDK_IMAGE_DIR)/demo, \
268 FILES := $(DEMO_FILES), \
269 ))
270
271 JDK_TARGETS += $(JDK_COPY_DEMOS)
272 endif
273
274 ################################################################################
275 # Code coverage data files
276
277 ifeq ($(GCOV_ENABLED), true)
278
279 $(eval $(call SetupCopyFiles,COPY_GCOV_GCNO, \
280 SRC := $(OUTPUTDIR), \
281 DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \
282 FILES := $(call FindFiles, $(HOTSPOT_OUTPUTDIR) \
283 $(SUPPORT_OUTPUTDIR)/native, *.gcno) \
284 ))
285
286 SYMBOLS_TARGETS += $(COPY_GCOV_GCNO)
287
288 endif
289
290 ################################################################################
291 # Debug symbols
292 # Since debug symbols are not included in the jmod files, they need to be copied
293 # in manually after generating the images.
294
295 ALL_JDK_MODULES := $(JDK_MODULES)
296 ALL_JRE_MODULES := $(sort $(JRE_MODULES), $(foreach m, $(JRE_MODULES), \
297 $(call FindTransitiveDepsForModule, $m)))
298
299 ifeq ($(OPENJDK_TARGET_OS), windows)
300 LIBS_TARGET_SUBDIR := bin
301 else
302 LIBS_TARGET_SUBDIR := lib
303 endif
304
305 # Param 1 - dir to find debuginfo files in
306 FindDebuginfoFiles = \
307 $(wildcard $(addprefix $1/*, $(DEBUGINFO_SUFFIXES)) \
308 $(addprefix $1/*/*, $(DEBUGINFO_SUFFIXES)) \
309 $(addprefix $1/*/*/*, $(DEBUGINFO_SUFFIXES)))
310
311 # Pick the correct debug info files to copy, either zipped or not.
312 ifeq ($(ZIP_EXTERNAL_DEBUG_SYMBOLS), true)
313 DEBUGINFO_SUFFIXES += .diz
314 else
315 DEBUGINFO_SUFFIXES := .debuginfo .pdb .map
316 # On Macosx, if debug symbols have not been zipped, find all files inside *.dSYM
317 # dirs.
318 ifeq ($(OPENJDK_TARGET_OS), macosx)
319 $(call FillFindCache, \
320 $(SUPPORT_OUTPUTDIR)/modules_cmds $(SUPPORT_OUTPUTDIR)/modules_libs)
321 FindDebuginfoFiles = \
322 $(if $(wildcard $1), $(call containing, .dSYM/, $(call FindFiles, $1)))
323 endif
324 endif
325
326 # Param 1 - either JDK or JRE
327 SetupCopyDebuginfo = \
328 $(foreach m, $(ALL_$1_MODULES), \
329 $(eval $(call SetupCopyFiles, COPY_$1_LIBS_DEBUGINFO_$m, \
330 SRC := $(SUPPORT_OUTPUTDIR)/modules_libs/$m, \
331 DEST := $($1_IMAGE_DIR)/$(LIBS_TARGET_SUBDIR), \
332 FILES := $(call FindDebuginfoFiles, \
333 $(SUPPORT_OUTPUTDIR)/modules_libs/$m), \
334 )) \
335 $(eval $1_TARGETS += $$(COPY_$1_LIBS_DEBUGINFO_$m)) \
336 )
337
338 # No space before argument to avoid having to put $(strip ) everywhere in
339 # implementation above.
340 $(call SetupCopyDebuginfo,JDK)
341 $(call SetupCopyDebuginfo,JRE)
342
|