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