Android.mk revision 406a75d371361388fe179950a3de459ae7e16f33
1LOCAL_PATH:= $(call my-dir) 2 3LOCAL_PATH:= $(call my-dir) 4include $(CLEAR_VARS) 5 6LOCAL_SRC_FILES:= \ 7 debugger.cpp \ 8 dlfcn.cpp \ 9 linker.cpp \ 10 linker_environ.cpp \ 11 linker_phdr.cpp \ 12 rt.cpp \ 13 14LOCAL_SRC_FILES_arm := arch/arm/begin.S 15LOCAL_SRC_FILES_arm64 := arch/arm64/begin.S 16LOCAL_SRC_FILES_x86 := arch/x86/begin.c 17LOCAL_SRC_FILES_x86_64 := arch/x86_64/begin.S 18LOCAL_SRC_FILES_mips := arch/mips/begin.S 19 20LOCAL_LDFLAGS := \ 21 -shared \ 22 -Wl,-Bsymbolic \ 23 -Wl,--exclude-libs,ALL \ 24 25LOCAL_CFLAGS += \ 26 -fno-stack-protector \ 27 -Wstrict-overflow=5 \ 28 -fvisibility=hidden \ 29 -Wall -Wextra -Werror \ 30 31LOCAL_CONLYFLAGS += \ 32 -std=gnu99 \ 33 34LOCAL_CPPFLAGS += \ 35 -std=gnu++11 \ 36 37# We need to access Bionic private headers in the linker. 38LOCAL_CFLAGS += -I$(LOCAL_PATH)/../libc/ 39 40# we don't want crtbegin.o (because we have begin.o), so unset it 41# just for this module 42LOCAL_NO_CRT := true 43# TODO: split out the asflags. 44LOCAL_ASFLAGS := $(LOCAL_CFLAGS) 45 46LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk $(LOCAL_PATH)/linker_executable.mk 47 48LOCAL_STATIC_LIBRARIES := libc_nomalloc 49 50LOCAL_FORCE_STATIC_EXECUTABLE := true # not necessary when not including BUILD_EXECUTABLE 51 52LOCAL_2ND_ARCH_VAR_PREFIX := $(linker_2nd_arch_var_prefix) 53 54LOCAL_MODULE := linker 55LOCAL_MODULE_STEM_32 := linker 56LOCAL_MODULE_STEM_64 := linker64 57LOCAL_MULTILIB := both 58 59include $(LOCAL_PATH)/linker_executable.mk 60ifdef TARGET_2ND_ARCH 61LOCAL_2ND_ARCH_VAR_PREFIX := $(TARGET_2ND_ARCH_VAR_PREFIX) 62OVERRIDE_BUILT_MODULE_PATH := 63LOCAL_BUILT_MODULE := 64LOCAL_INSTALLED_MODULE := 65LOCAL_MODULE_STEM := 66LOCAL_BUILT_MODULE_STEM := 67LOCAL_INSTALLED_MODULE_STEM := 68LOCAL_INTERMEDIATE_TARGETS := 69include $(LOCAL_PATH)/linker_executable.mk 70endif 71