mesa: Build libmesa_dricore.a for Android
[mesa.git] / src / mesa / Android.mk
1 # Mesa 3-D graphics library
2 #
3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4 # Copyright (C) 2010-2011 LunarG Inc.
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a
7 # copy of this software and associated documentation files (the "Software"),
8 # to deal in the Software without restriction, including without limitation
9 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 # and/or sell copies of the Software, and to permit persons to whom the
11 # Software is furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 # DEALINGS IN THE SOFTWARE.
23
24 # Android.mk for core mesa
25
26 LOCAL_PATH := $(call my-dir)
27
28 include $(LOCAL_PATH)/sources.mak
29
30 common_CFLAGS := \
31 -DFEATURE_ES1=1 \
32 -DFEATURE_ES2=1
33
34 common_C_INCLUDES := \
35 $(MESA_TOP)/src/mapi \
36 $(MESA_TOP)/src/glsl
37
38 common_ASM :=
39
40 # ---------------------------------------
41 # Build mesa_gen_matypes for host
42 # ---------------------------------------
43
44 ifeq ($(strip $(MESA_ENABLE_ASM)),true)
45 ifeq ($(TARGET_ARCH),x86)
46 common_ASM += $(X86_SOURCES)
47
48 include $(CLEAR_VARS)
49 LOCAL_SRC_FILES := x86/gen_matypes.c
50 LOCAL_CFLAGS := $(common_CFLAGS)
51 LOCAL_C_INCLUDES := $(common_C_INCLUDES)
52 LOCAL_MODULE := mesa_gen_matypes
53 include $(MESA_COMMON_MK)
54 include $(BUILD_HOST_EXECUTABLE)
55
56 endif # x86
57 endif # MESA_ENABLE_ASM
58
59 # ---------------------------------------
60 # Build libmesa_st_mesa
61 # ---------------------------------------
62
63 ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
64 include $(CLEAR_VARS)
65
66 LOCAL_SRC_FILES := \
67 $(MESA_GALLIUM_SOURCES) \
68 $(MESA_GALLIUM_CXX_SOURCES) \
69 $(common_ASM)
70
71 LOCAL_CFLAGS := $(common_CFLAGS)
72
73 LOCAL_C_INCLUDES := \
74 $(common_C_INCLUDES) \
75 $(MESA_TOP)/src/gallium/include \
76 $(MESA_TOP)/src/gallium/auxiliary
77
78 LOCAL_MODULE := libmesa_st_mesa
79
80 include $(LOCAL_PATH)/Android.gen.mk
81 include $(MESA_COMMON_MK)
82 include $(BUILD_STATIC_LIBRARY)
83 endif # MESA_BUILD_GALLIUM
84
85 # ---------------------------------------
86 # Build libmesa_dricore for DRI modules
87 # ---------------------------------------
88
89 ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
90
91 include $(CLEAR_VARS)
92
93 LOCAL_MODULE := libmesa_dricore
94 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
95
96 LOCAL_CFLAGS := \
97 $(common_CFLAGS) \
98 -DFEATURE_GL=1
99
100 LOCAL_C_INCLUDES := \
101 $(common_C_INCLUDES)
102
103 LOCAL_SRC_FILES := \
104 $(MESA_SOURCES) \
105 $(MESA_CXX_SOURCES) \
106 $(common_ASM)
107
108 include $(LOCAL_PATH)/Android.gen.mk
109 include $(MESA_COMMON_MK)
110 include $(BUILD_STATIC_LIBRARY)
111
112 endif # MESA_BUILD_CLASSIC
113
114 # ---------------------------------------
115 # Build libmesa_glsl_utils
116 #
117 # It is used to avoid circular dependency between core mesa and glsl.
118 # ---------------------------------------
119
120 include $(CLEAR_VARS)
121
122 LOCAL_SRC_FILES := \
123 program/hash_table.c \
124 program/symbol_table.c
125
126 LOCAL_MODULE := libmesa_glsl_utils
127
128 include $(MESA_COMMON_MK)
129 include $(BUILD_STATIC_LIBRARY)
130
131 # ---------------------------------------
132 # Build libmesa_glsl_utils for host
133 # ---------------------------------------
134
135 include $(CLEAR_VARS)
136
137 LOCAL_SRC_FILES := \
138 program/hash_table.c \
139 program/symbol_table.c
140
141 LOCAL_MODULE := libmesa_glsl_utils
142
143 include $(MESA_COMMON_MK)
144 include $(BUILD_HOST_STATIC_LIBRARY)