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