< prev index next >

make/common/NativeCompilation.gmk

Print this page




 751         endif
 752       endif # !STATIC_LIBRARY
 753     endif # $1_DEBUG_SYMBOLS != false
 754   endif # COPY_DEBUG_SYMBOLS
 755 
 756   ifeq ($$($1_STRIP_SYMBOLS), true)
 757     ifneq ($$($1_STRIP), )
 758       # Default to using the global STRIPFLAGS. Allow for overriding with an empty value
 759       $1_STRIPFLAGS ?= $(STRIPFLAGS)
 760       $1_STRIP_CMD := $$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET)
 761     endif
 762   endif
 763 
 764   ifneq (,$$($1_LIBRARY))
 765     # Generating a dynamic library.
 766     $1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
 767     ifeq ($(OPENJDK_TARGET_OS), windows)
 768       $1_EXTRA_LDFLAGS += "-implib:$$($1_OBJECT_DIR)/$$($1_LIBRARY).lib"
 769     endif
 770 
 771     $1_EXTRA_LIBS += $(GLOBAL_LIBS)
 772 
 773     $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
 774         $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_CREATE_DEBUGINFO_CMDS) \
 775         $$($1_STRIP_CMD)
 776     $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
 777         $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
 778 
 779     $1_LD_OBJ_ARG := $$($1_ALL_OBJS)
 780 
 781     # If there are many object files, use an @-file...
 782     ifneq ($$(word 17, $$($1_ALL_OBJS)), )
 783       $1_OBJ_FILE_LIST := $$($1_OBJECT_DIR)/_$1_objectfilenames.txt
 784       ifneq ($(COMPILER_COMMAND_FILE_FLAG),)
 785         $1_LD_OBJ_ARG := $(COMPILER_COMMAND_FILE_FLAG)$$($1_OBJ_FILE_LIST)
 786       else
 787         # ...except for toolchains which don't support them.
 788         $1_LD_OBJ_ARG := `cat $$($1_OBJ_FILE_LIST)`
 789       endif
 790     endif
 791 
 792     $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \


 829         STATIC_MAPFILE_DEP := $$($1_MAPFILE)
 830       endif
 831     endif
 832 
 833     $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) $$(STATIC_MAPFILE_DEP)
 834         $$(call LogInfo, Archiving $$($1_STATIC_LIBRARY))
 835         $$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
 836             $$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \
 837                 $$($1_RES))
 838         ifeq ($(STATIC_BUILD), true)
 839           ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
 840             $(CP) $$($1_MAPFILE) $$(@D)/$$(basename $$(@F)).symbols
 841           else
 842             $(GetSymbols)
 843           endif
 844         endif
 845   endif
 846 
 847   ifneq (,$$($1_PROGRAM))
 848     # A executable binary has been specified, setup the target for it.
 849     $1_EXTRA_LIBS += $(GLOBAL_LIBS)
 850 
 851     $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
 852         $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
 853         $$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
 854         $$($1_STRIP_CMD)
 855     $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
 856         $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
 857 
 858     ifeq ($(OPENJDK_TARGET_OS), windows)
 859       ifeq ($$($1_EMBED_MANIFEST), true)
 860         $1_EXTRA_LDFLAGS += -manifest:embed
 861       endif
 862     endif
 863 
 864     $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
 865         $$($1_VARDEPS_FILE)
 866                 $$(call LogInfo, Linking executable $$($1_BASENAME))
 867                 $$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
 868                     $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
 869                         $(EXE_OUT_OPTION)$$($1_TARGET) \
 870                         $$($1_ALL_OBJS) $$($1_RES) \


 751         endif
 752       endif # !STATIC_LIBRARY
 753     endif # $1_DEBUG_SYMBOLS != false
 754   endif # COPY_DEBUG_SYMBOLS
 755 
 756   ifeq ($$($1_STRIP_SYMBOLS), true)
 757     ifneq ($$($1_STRIP), )
 758       # Default to using the global STRIPFLAGS. Allow for overriding with an empty value
 759       $1_STRIPFLAGS ?= $(STRIPFLAGS)
 760       $1_STRIP_CMD := $$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET)
 761     endif
 762   endif
 763 
 764   ifneq (,$$($1_LIBRARY))
 765     # Generating a dynamic library.
 766     $1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
 767     ifeq ($(OPENJDK_TARGET_OS), windows)
 768       $1_EXTRA_LDFLAGS += "-implib:$$($1_OBJECT_DIR)/$$($1_LIBRARY).lib"
 769     endif
 770 


 771     $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
 772         $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_CREATE_DEBUGINFO_CMDS) \
 773         $$($1_STRIP_CMD)
 774     $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
 775         $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
 776 
 777     $1_LD_OBJ_ARG := $$($1_ALL_OBJS)
 778 
 779     # If there are many object files, use an @-file...
 780     ifneq ($$(word 17, $$($1_ALL_OBJS)), )
 781       $1_OBJ_FILE_LIST := $$($1_OBJECT_DIR)/_$1_objectfilenames.txt
 782       ifneq ($(COMPILER_COMMAND_FILE_FLAG),)
 783         $1_LD_OBJ_ARG := $(COMPILER_COMMAND_FILE_FLAG)$$($1_OBJ_FILE_LIST)
 784       else
 785         # ...except for toolchains which don't support them.
 786         $1_LD_OBJ_ARG := `cat $$($1_OBJ_FILE_LIST)`
 787       endif
 788     endif
 789 
 790     $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \


 827         STATIC_MAPFILE_DEP := $$($1_MAPFILE)
 828       endif
 829     endif
 830 
 831     $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) $$(STATIC_MAPFILE_DEP)
 832         $$(call LogInfo, Archiving $$($1_STATIC_LIBRARY))
 833         $$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
 834             $$($1_AR) $$($1_ARFLAGS) $(AR_OUT_OPTION)$$($1_TARGET) $$($1_ALL_OBJS) \
 835                 $$($1_RES))
 836         ifeq ($(STATIC_BUILD), true)
 837           ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
 838             $(CP) $$($1_MAPFILE) $$(@D)/$$(basename $$(@F)).symbols
 839           else
 840             $(GetSymbols)
 841           endif
 842         endif
 843   endif
 844 
 845   ifneq (,$$($1_PROGRAM))
 846     # A executable binary has been specified, setup the target for it.


 847     $1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
 848         $$($1_LIBS) $$($1_EXTRA_LIBS) $$($1_MT) \
 849         $$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
 850         $$($1_STRIP_CMD)
 851     $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
 852         $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
 853 
 854     ifeq ($(OPENJDK_TARGET_OS), windows)
 855       ifeq ($$($1_EMBED_MANIFEST), true)
 856         $1_EXTRA_LDFLAGS += -manifest:embed
 857       endif
 858     endif
 859 
 860     $$($1_TARGET): $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
 861         $$($1_VARDEPS_FILE)
 862                 $$(call LogInfo, Linking executable $$($1_BASENAME))
 863                 $$(call ExecuteWithLog, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link, \
 864                     $$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
 865                         $(EXE_OUT_OPTION)$$($1_TARGET) \
 866                         $$($1_ALL_OBJS) $$($1_RES) \
< prev index next >