Colin Cross | 36ee4ab | 2014-02-12 21:58:47 -0800 | [diff] [blame^] | 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_ $@ |