< prev index next >

make/Images.gmk

Print this page
rev 52919 : 8189861: Refactor CacheFind
Reviewed-by: sgehwolf


 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 
< prev index next >