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