1LOCAL_PATH := $(call my-dir) 2 3ifeq ($(strip $(filter-out $(NDK_KNOWN_ARCHS),$(TARGET_ARCH))),) 4 5# We build up to 4 armeabi binaries 6# To check for thumb/arm build modes, either with the .arm extension 7# or using LOCAL_ARM_MODE 8# 9ifeq ($(TARGET_ARCH_ABI),armeabi) 10 11include $(CLEAR_VARS) 12LOCAL_MODULE := test_build_mode_thumb 13LOCAL_CFLAGS += -DCHECK_THUMB 14LOCAL_SRC_FILES := main.c 15include $(BUILD_EXECUTABLE) 16 17include $(CLEAR_VARS) 18LOCAL_MODULE := test_build_mode_thumb_b 19LOCAL_CFLAGS += -DCHECK_THUMB 20LOCAL_SRC_FILES := main.c 21LOCAL_ARM_MODE := thumb 22include $(BUILD_EXECUTABLE) 23 24include $(CLEAR_VARS) 25LOCAL_MODULE := test_build_mode_arm 26LOCAL_CFLAGS += -DCHECK_ARM 27LOCAL_SRC_FILES := main.c.arm 28include $(BUILD_EXECUTABLE) 29 30include $(CLEAR_VARS) 31LOCAL_MODULE := test_build_mode_arm_b 32LOCAL_CFLAGS += -DCHECK_ARM 33LOCAL_SRC_FILES := main.c 34LOCAL_ARM_MODE := arm 35include $(BUILD_EXECUTABLE) 36 37endif # TARGET_ARCH == arm 38 39# We build 8 armeabi-v7a binaries because we need to check neon as well 40# 41ifneq ($(filter $(TARGET_ARCH_ABI), armeabi-v7a armeabi-v7a-hard),) 42 43include $(CLEAR_VARS) 44LOCAL_MODULE := test_build_mode_thumb2 45LOCAL_CFLAGS += -DCHECK_THUMB2 46LOCAL_SRC_FILES := main.c 47include $(BUILD_EXECUTABLE) 48 49include $(CLEAR_VARS) 50LOCAL_MODULE := test_build_mode_thumb2_b 51LOCAL_CFLAGS += -DCHECK_THUMB2 52LOCAL_SRC_FILES := main.c 53LOCAL_ARM_MODE := thumb 54include $(BUILD_EXECUTABLE) 55 56include $(CLEAR_VARS) 57LOCAL_MODULE := test_build_mode_armv7 58LOCAL_CFLAGS += -DCHECK_ARM 59LOCAL_SRC_FILES := main.c.arm 60include $(BUILD_EXECUTABLE) 61 62include $(CLEAR_VARS) 63LOCAL_MODULE := test_build_mode_armv7_b 64LOCAL_CFLAGS += -DCHECK_ARM 65LOCAL_SRC_FILES := main.c 66LOCAL_ARM_MODE := arm 67include $(BUILD_EXECUTABLE) 68 69include $(CLEAR_VARS) 70LOCAL_MODULE := test_build_mode_thumb2_neon 71LOCAL_CFLAGS += -DCHECK_THUMB2 -DCHECK_NEON 72LOCAL_SRC_FILES := main.c.neon 73include $(BUILD_EXECUTABLE) 74 75include $(CLEAR_VARS) 76LOCAL_MODULE := test_build_mode_thumb2_neon_b 77LOCAL_CFLAGS += -DCHECK_THUMB2 -DCHECK_NEON 78LOCAL_SRC_FILES := main.c 79LOCAL_ARM_NEON := true 80include $(BUILD_EXECUTABLE) 81 82include $(CLEAR_VARS) 83LOCAL_MODULE := test_build_mode_thumb2_neon_c 84LOCAL_CFLAGS += -DCHECK_THUMB2 -DCHECK_NEON 85LOCAL_SRC_FILES := main.c 86LOCAL_ARM_MODE := thumb 87LOCAL_ARM_NEON := true 88include $(BUILD_EXECUTABLE) 89 90include $(CLEAR_VARS) 91LOCAL_MODULE := test_build_mode_armv7_neon 92LOCAL_CFLAGS += -DCHECK_ARM -DCHECK_NEON 93LOCAL_SRC_FILES := main.c.arm.neon 94include $(BUILD_EXECUTABLE) 95 96include $(CLEAR_VARS) 97LOCAL_MODULE := test_build_mode_armv7_neon_b 98LOCAL_CFLAGS += -DCHECK_ARM -DCHECK_NEON 99LOCAL_SRC_FILES := main.c.arm 100LOCAL_ARM_NEON := true 101include $(BUILD_EXECUTABLE) 102 103include $(CLEAR_VARS) 104LOCAL_MODULE := test_build_mode_armv7_neon_c 105LOCAL_CFLAGS += -DCHECK_ARM -DCHECK_NEON 106LOCAL_SRC_FILES := main.c 107LOCAL_ARM_MODE := arm 108LOCAL_ARM_NEON := true 109include $(BUILD_EXECUTABLE) 110 111endif # TARGET_ARCH_ABI == armeabi-v7a || armeabi-v7a-hard 112 113# We only build a single binary for x86 114# 115ifeq ($(TARGET_ARCH),x86) 116 117include $(CLEAR_VARS) 118LOCAL_MODULE := test_build_mode_x86 119LOCAL_CFLAGS += -DCHECK_X86 120LOCAL_SRC_FILES := main.c 121include $(BUILD_EXECUTABLE) 122 123endif # TARGET_ARCH == x86 124 125ifeq ($(TARGET_ARCH),mips) 126 127include $(CLEAR_VARS) 128LOCAL_MODULE := test_build_mode_mips 129LOCAL_CFLAGS += -DCHECK_MIPS 130LOCAL_SRC_FILES := main.c 131include $(BUILD_EXECUTABLE) 132 133endif # TARGET_ARCH == mips 134 135endif # if TARGET_ARCH is known arch 136