1 LOCAL_PATH := $(call my-dir) 2 3 common_cppflags := \ 4 -std=gnu++11 \ 5 -W \ 6 -Wall \ 7 -Wextra \ 8 -Wunused \ 9 -Werror \ 10 11 include $(CLEAR_VARS) 12 13 LOCAL_SRC_FILES:= \ 14 backtrace.cpp \ 15 debuggerd.cpp \ 16 elf_utils.cpp \ 17 getevent.cpp \ 18 tombstone.cpp \ 19 utility.cpp \ 20 21 LOCAL_SRC_FILES_arm := arm/machine.cpp 22 LOCAL_SRC_FILES_arm64 := arm64/machine.cpp 23 LOCAL_SRC_FILES_mips := mips/machine.cpp 24 LOCAL_SRC_FILES_mips64 := mips64/machine.cpp 25 LOCAL_SRC_FILES_x86 := x86/machine.cpp 26 LOCAL_SRC_FILES_x86_64 := x86_64/machine.cpp 27 28 LOCAL_CPPFLAGS := $(common_cppflags) 29 30 ifeq ($(TARGET_IS_64_BIT),true) 31 LOCAL_CPPFLAGS += -DTARGET_IS_64_BIT 32 endif 33 34 LOCAL_SHARED_LIBRARIES := \ 35 libbacktrace \ 36 libbase \ 37 libcutils \ 38 liblog \ 39 libselinux \ 40 41 LOCAL_CLANG := true 42 43 LOCAL_MODULE := debuggerd 44 LOCAL_MODULE_STEM_32 := debuggerd 45 LOCAL_MODULE_STEM_64 := debuggerd64 46 LOCAL_MULTILIB := both 47 48 include $(BUILD_EXECUTABLE) 49 50 51 52 include $(CLEAR_VARS) 53 LOCAL_SRC_FILES := crasher.c 54 LOCAL_SRC_FILES_arm := arm/crashglue.S 55 LOCAL_SRC_FILES_arm64 := arm64/crashglue.S 56 LOCAL_SRC_FILES_mips := mips/crashglue.S 57 LOCAL_SRC_FILES_mips64 := mips64/crashglue.S 58 LOCAL_SRC_FILES_x86 := x86/crashglue.S 59 LOCAL_SRC_FILES_x86_64 := x86_64/crashglue.S 60 LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) 61 LOCAL_MODULE_TAGS := optional 62 LOCAL_CFLAGS += -fstack-protector-all -Werror -Wno-free-nonheap-object 63 #LOCAL_FORCE_STATIC_EXECUTABLE := true 64 LOCAL_SHARED_LIBRARIES := libcutils liblog libc 65 66 # The arm emulator has VFP but not VFPv3-D32. 67 ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) 68 LOCAL_ASFLAGS_arm += -DHAS_VFP_D32 69 endif 70 71 LOCAL_MODULE := crasher 72 LOCAL_MODULE_STEM_32 := crasher 73 LOCAL_MODULE_STEM_64 := crasher64 74 LOCAL_MULTILIB := both 75 76 include $(BUILD_EXECUTABLE) 77 78 debuggerd_test_src_files := \ 79 utility.cpp \ 80 test/dump_maps_test.cpp \ 81 test/dump_memory_test.cpp \ 82 test/elf_fake.cpp \ 83 test/log_fake.cpp \ 84 test/property_fake.cpp \ 85 test/ptrace_fake.cpp \ 86 test/selinux_fake.cpp \ 87 88 debuggerd_shared_libraries := \ 89 libbacktrace \ 90 libbase \ 91 libcutils \ 92 93 debuggerd_c_includes := \ 94 $(LOCAL_PATH)/test \ 95 96 debuggerd_cpp_flags := \ 97 $(common_cppflags) \ 98 -Wno-missing-field-initializers \ 99 100 # Only build the host tests on linux. 101 ifeq ($(HOST_OS),linux) 102 103 include $(CLEAR_VARS) 104 105 LOCAL_MODULE := debuggerd_test 106 LOCAL_SRC_FILES := $(debuggerd_test_src_files) 107 LOCAL_SHARED_LIBRARIES := $(debuggerd_shared_libraries) 108 LOCAL_C_INCLUDES := $(debuggerd_c_includes) 109 LOCAL_CPPFLAGS := $(debuggerd_cpp_flags) 110 111 LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 112 LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 113 LOCAL_MULTILIB := both 114 include $(BUILD_HOST_NATIVE_TEST) 115 116 endif 117 118 include $(CLEAR_VARS) 119 120 LOCAL_MODULE := debuggerd_test 121 LOCAL_SRC_FILES := $(debuggerd_test_src_files) 122 LOCAL_SHARED_LIBRARIES := $(debuggerd_shared_libraries) 123 LOCAL_C_INCLUDES := $(debuggerd_c_includes) 124 LOCAL_CPPFLAGS := $(debuggerd_cpp_flags) 125 126 LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 127 LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 128 LOCAL_MULTILIB := both 129 include $(BUILD_NATIVE_TEST) 130