common/makefiles/NativeCompilation.gmk

Print this page




 434 
 435                 $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
 436                         $(CP) $$< $$@
 437 
 438 
 439                 ifeq ($(OPENJDK_TARGET_OS), solaris)
 440                     # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 441                     # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
 442                     # empty section headers until a fixed $(OBJCOPY) is available.
 443                     # An empty section header has sh_addr == 0 and sh_size == 0.
 444                     # This problem has only been seen on Solaris X64, but we call this tool
 445                     # on all Solaris builds just in case.
 446                     #
 447                     # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 448                     # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
 449                     $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
 450                                         $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
 451                         $(RM) $$@
 452                         $(FIX_EMPTY_SEC_HDR_FLAGS) $$<
 453                         $(OBJCOPY) --only-keep-debug $$< $$@
 454                         $(ADD_GNU_DEBUGLINK) $$@ $$<
 455                 else # not solaris
 456                     $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
 457                         $(RM) $$@
 458                         $(OBJCOPY) --only-keep-debug $$< $$@
 459                         $(OBJCOPY) --add-gnu-debuglink=$$@ $$<
 460                 endif

 461 
 462                 ifeq ($(ZIP_DEBUGINFO_FILES), 1)
 463                     $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz
 464 
 465                     ifeq ($(OPENJDK_TARGET_OS), windows)
 466                         $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET)
 467                                 $(CD) $$($1_OBJECT_DIR) \
 468                                 && $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb
 469                     else
 470                         $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \
 471                                         $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
 472                                 $(CD) $$($1_OBJECT_DIR) \
 473                                 && $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo 
 474                     endif
 475                 else
 476                     ifeq ($(OPENJDK_TARGET_OS), windows)
 477                         $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
 478                               $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
 479                     else
 480                         $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo


 509                 endif
 510 
 511                 $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
 512                         $(CP) $$< $$@
 513 
 514                 ifeq ($(OPENJDK_TARGET_OS), solaris)
 515                     # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 516                     # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
 517                     # empty section headers until a fixed $(OBJCOPY) is available.
 518                     # An empty section header has sh_addr == 0 and sh_size == 0.
 519                     # This problem has only been seen on Solaris X64, but we call this tool
 520                     # on all Solaris builds just in case.
 521                     #
 522                     # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 523                     # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
 524                     $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
 525                                         $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
 526                         $(RM) $$@
 527                         $(FIX_EMPTY_SEC_HDR_FLAGS) $$<
 528                         $(OBJCOPY) --only-keep-debug $$< $$@
 529                         $(ADD_GNU_DEBUGLINK) $$@ $$<
 530                 else # not solaris
 531                     $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
 532                         $(RM) $$@
 533                         $(OBJCOPY) --only-keep-debug $$< $$@
 534                         $(OBJCOPY) --add-gnu-debuglink=$$@ $$<
 535                 endif

 536 
 537                 ifeq ($(ZIP_DEBUGINFO_FILES), 1)
 538                     $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz
 539 
 540                     ifeq ($(OPENJDK_TARGET_OS), windows)
 541                         $$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET)
 542                                 $(CD) $$($1_OBJECT_DIR) \
 543                                 && $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb
 544                     else
 545                         $$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \
 546                                         $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo
 547                                 $(CD) $$($1_OBJECT_DIR) \
 548                                 && $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo 
 549                     endif
 550                 else
 551                     ifeq ($(OPENJDK_TARGET_OS), windows)
 552                         $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
 553                               $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
 554                     else
 555                         $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo


 434 
 435                 $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
 436                         $(CP) $$< $$@
 437 
 438 
 439                 ifeq ($(OPENJDK_TARGET_OS), solaris)
 440                     # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 441                     # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
 442                     # empty section headers until a fixed $(OBJCOPY) is available.
 443                     # An empty section header has sh_addr == 0 and sh_size == 0.
 444                     # This problem has only been seen on Solaris X64, but we call this tool
 445                     # on all Solaris builds just in case.
 446                     #
 447                     # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 448                     # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
 449                     $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
 450                                         $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
 451                         $(RM) $$@
 452                         $(FIX_EMPTY_SEC_HDR_FLAGS) $$<
 453                         $(OBJCOPY) --only-keep-debug $$< $$@
 454                         $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $$(@F) $$<
 455                 else # not solaris
 456                     $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
 457                         $(RM) $$@
 458                         $(OBJCOPY) --only-keep-debug $$< $$@
 459                         $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
 460                 endif # Touch to not retrigger rule on rebuild
 461                         $(TOUCH) $$@
 462 
 463                 ifeq ($(ZIP_DEBUGINFO_FILES), 1)
 464                     $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz
 465 
 466                     ifeq ($(OPENJDK_TARGET_OS), windows)
 467                         $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET)
 468                                 $(CD) $$($1_OBJECT_DIR) \
 469                                 && $(ZIP) -q $$@ $$($1_LIBRARY).map $$($1_LIBRARY).pdb
 470                     else
 471                         $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).diz : $$($1_TARGET) \
 472                                         $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
 473                                 $(CD) $$($1_OBJECT_DIR) \
 474                                 && $(ZIP) -q $$@ $$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo 
 475                     endif
 476                 else
 477                     ifeq ($(OPENJDK_TARGET_OS), windows)
 478                         $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
 479                               $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
 480                     else
 481                         $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo


 510                 endif
 511 
 512                 $$($1_OUTPUT_DIR)/% : $$($1_OBJECT_DIR)/%
 513                         $(CP) $$< $$@
 514 
 515                 ifeq ($(OPENJDK_TARGET_OS), solaris)
 516                     # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
 517                     # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
 518                     # empty section headers until a fixed $(OBJCOPY) is available.
 519                     # An empty section header has sh_addr == 0 and sh_size == 0.
 520                     # This problem has only been seen on Solaris X64, but we call this tool
 521                     # on all Solaris builds just in case.
 522                     #
 523                     # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
 524                     # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
 525                     $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
 526                                         $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
 527                         $(RM) $$@
 528                         $(FIX_EMPTY_SEC_HDR_FLAGS) $$<
 529                         $(OBJCOPY) --only-keep-debug $$< $$@
 530                         $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $$(@F) $$<
 531                 else # not solaris
 532                     $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
 533                         $(RM) $$@
 534                         $(OBJCOPY) --only-keep-debug $$< $$@
 535                         $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
 536                 endif
 537                         $(TOUCH) $$@
 538 
 539                 ifeq ($(ZIP_DEBUGINFO_FILES), 1)
 540                     $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).diz
 541 
 542                     ifeq ($(OPENJDK_TARGET_OS), windows)
 543                         $$($1_OBJECT_DIR)/$$($1_PROGRAM).diz : $$($1_TARGET)
 544                                 $(CD) $$($1_OBJECT_DIR) \
 545                                 && $(ZIP) -q $$@ $$($1_PROGRAM).map $$($1_PROGRAM).pdb
 546                     else
 547                         $$($1_OBJECT_DIR)/$$(PROGRAM_PREFIX)$$($1_PROGRAM).diz : $$($1_TARGET) \
 548                                         $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo
 549                                 $(CD) $$($1_OBJECT_DIR) \
 550                                 && $(ZIP) -q $$@ $$($1_PROGRAM).debuginfo 
 551                     endif
 552                 else
 553                     ifeq ($(OPENJDK_TARGET_OS), windows)
 554                         $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
 555                               $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
 556                     else
 557                         $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo