Home | History | Annotate | Download | only in linker
      1 
      2 #
      3 # Instead of including $(BUILD_EXECUTABLE), we execute the steps to create an executable by
      4 # hand, as we want to insert an extra objcopy step that is not supported by the build
      5 # system, and is probably specific the linker only, so there's no need to modify the build
      6 # system for the purpose.
      7 #
      8 
      9 LOCAL_MODULE_CLASS := EXECUTABLES
     10 LOCAL_MODULE_SUFFIX := $(TARGET_EXECUTABLE_SUFFIX)
     11 
     12 include $(BUILD_SYSTEM)/dynamic_binary.mk
     13 
     14 # See build/core/executable_internal.mk
     15 $(linked_module): PRIVATE_TARGET_GLOBAL_LD_DIRS := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_LD_DIRS)
     16 $(linked_module): PRIVATE_TARGET_GLOBAL_LDFLAGS := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_LDFLAGS)
     17 $(linked_module): PRIVATE_TARGET_FDO_LIB := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_FDO_LIB)
     18 $(linked_module): PRIVATE_TARGET_LIBGCC := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBGCC)
     19 $(linked_module): PRIVATE_TARGET_CRTBEGIN_DYNAMIC_O := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTBEGIN_DYNAMIC_O)
     20 $(linked_module): PRIVATE_TARGET_CRTBEGIN_STATIC_O := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTBEGIN_STATIC_O)
     21 $(linked_module): PRIVATE_TARGET_CRTEND_O := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTEND_O)
     22 $(linked_module): PRIVATE_TARGET_OBJCOPY := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_OBJCOPY)
     23 $(linked_module): $(TARGET_CRTBEGIN_STATIC_O) $(all_objects) $(all_libraries) $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CRTEND_O)
     24 	$(transform-o-to-static-executable)
     25 	@echo "target PrefixSymbols: $(PRIVATE_MODULE) ($@)"
     26 	$(hide) $(PRIVATE_TARGET_OBJCOPY) --prefix-symbols=__dl_ $@
     27