115db4703ef3a5235e44d18d26be89013a2a72d2
[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 # Import the following variables:
29 # MESA_CXX_FILES
30 # MESA_GALLIUM_CXX_FILES
31 # MESA_GALLIUM_FILES
32 # MESA_FILES
33 # X86_FILES
34 SRCDIR = .
35 include $(LOCAL_PATH)/sources.mak
36
37 common_CFLAGS := \
38 -DFEATURE_ES1=1 \
39 -DFEATURE_ES2=1
40
41 common_C_INCLUDES := \
42 $(MESA_TOP)/src/mapi \
43 $(MESA_TOP)/src/glsl
44
45 common_ASM :=
46
47 # ---------------------------------------
48 # Build mesa_gen_matypes for host
49 # ---------------------------------------
50
51 ifeq ($(strip $(MESA_ENABLE_ASM)),true)
52 ifeq ($(TARGET_ARCH),x86)
53 common_ASM += $(X86_FILES)
54
55 include $(CLEAR_VARS)
56 LOCAL_SRC_FILES := x86/gen_matypes.c
57 LOCAL_CFLAGS := $(common_CFLAGS)
58 LOCAL_C_INCLUDES := $(common_C_INCLUDES)
59 LOCAL_MODULE := mesa_gen_matypes
60 LOCAL_IS_HOST_MODULE := true
61 include $(MESA_COMMON_MK)
62 include $(BUILD_HOST_EXECUTABLE)
63
64 endif # x86
65 endif # MESA_ENABLE_ASM
66
67 # ---------------------------------------
68 # Build libmesa_st_mesa
69 # ---------------------------------------
70
71 ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
72 include $(CLEAR_VARS)
73
74 LOCAL_SRC_FILES := \
75 $(MESA_GALLIUM_FILES) \
76 $(MESA_GALLIUM_CXX_FILES) \
77 $(common_ASM)
78
79 LOCAL_CFLAGS := $(common_CFLAGS)
80
81 LOCAL_C_INCLUDES := \
82 $(common_C_INCLUDES) \
83 $(MESA_TOP)/src/gallium/include \
84 $(MESA_TOP)/src/gallium/auxiliary
85
86 LOCAL_MODULE := libmesa_st_mesa
87
88 include $(LOCAL_PATH)/Android.gen.mk
89 include $(MESA_COMMON_MK)
90 include $(BUILD_STATIC_LIBRARY)
91 endif # MESA_BUILD_GALLIUM
92
93 # ---------------------------------------
94 # Build libmesa_dricore for DRI modules
95 # ---------------------------------------
96
97 ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
98
99 include $(CLEAR_VARS)
100
101 LOCAL_MODULE := libmesa_dricore
102 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
103
104 LOCAL_CFLAGS := \
105 $(common_CFLAGS) \
106 -DFEATURE_GL=1
107
108 LOCAL_C_INCLUDES := \
109 $(common_C_INCLUDES)
110
111 LOCAL_SRC_FILES := \
112 $(MESA_FILES) \
113 $(MESA_CXX_FILES) \
114 $(common_ASM)
115
116 include $(LOCAL_PATH)/Android.gen.mk
117 include $(MESA_COMMON_MK)
118 include $(BUILD_STATIC_LIBRARY)
119
120 endif # MESA_BUILD_CLASSIC
121
122 # ---------------------------------------
123 # Build libmesa_glsl_utils
124 #
125 # It is used to avoid circular dependency between core mesa and glsl.
126 # ---------------------------------------
127
128 include $(CLEAR_VARS)
129
130 LOCAL_SRC_FILES := \
131 program/hash_table.c \
132 program/symbol_table.c
133
134 LOCAL_MODULE := libmesa_glsl_utils
135
136 include $(MESA_COMMON_MK)
137 include $(BUILD_STATIC_LIBRARY)
138
139 # ---------------------------------------
140 # Build libmesa_glsl_utils for host
141 # ---------------------------------------
142
143 include $(CLEAR_VARS)
144
145 LOCAL_SRC_FILES := \
146 program/hash_table.c \
147 program/symbol_table.c
148
149 LOCAL_MODULE := libmesa_glsl_utils
150 LOCAL_IS_HOST_MODULE := true
151
152 include $(MESA_COMMON_MK)
153 include $(BUILD_HOST_STATIC_LIBRARY)