e125eb6d394b4f5a5f4cc0a64562db8c21cc44fa
[mesa.git] / src / mesa / drivers / dri / i965 / Android.mk
1 #
2 # Copyright (C) 2011 Intel Corporation
3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4 # Copyright (C) 2010-2011 LunarG
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
25 LOCAL_PATH := $(call my-dir)
26
27 # Import variables i965_FILES.
28 include $(LOCAL_PATH)/Makefile.sources
29
30 I965_PERGEN_COMMON_INCLUDES := \
31 $(MESA_DRI_C_INCLUDES) \
32 $(MESA_TOP)/src/intel \
33 $(MESA_TOP)/include/drm-uapi
34
35 I965_PERGEN_SHARED_LIBRARIES := \
36 $(MESA_DRI_SHARED_LIBRARIES)
37
38 I965_PERGEN_STATIC_LIBRARIES := \
39 libmesa_genxml \
40 libmesa_nir
41
42 I965_PERGEN_LIBS := \
43 libmesa_i965_gen4 \
44 libmesa_i965_gen45 \
45 libmesa_i965_gen5 \
46 libmesa_i965_gen6 \
47 libmesa_i965_gen7 \
48 libmesa_i965_gen75 \
49 libmesa_i965_gen8 \
50 libmesa_i965_gen9 \
51 libmesa_i965_gen10 \
52 libmesa_i965_gen11
53
54
55 # ---------------------------------------
56 # Build libmesa_intel_tiled_memcpy
57 # ---------------------------------------
58
59 include $(CLEAR_VARS)
60
61 LOCAL_MODULE := libmesa_intel_tiled_memcpy
62
63 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
64
65 LOCAL_SRC_FILES := $(intel_tiled_memcpy_FILES)
66
67 include $(MESA_COMMON_MK)
68 include $(BUILD_STATIC_LIBRARY)
69
70 # ---------------------------------------
71 # Build libmesa_intel_tiled_memcpy_sse41
72 # ---------------------------------------
73
74 include $(CLEAR_VARS)
75
76 LOCAL_MODULE := libmesa_intel_tiled_memcpy_sse41
77
78 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
79
80 LOCAL_SRC_FILES := $(intel_tiled_memcpy_sse41_FILES)
81
82 ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
83 LOCAL_CFLAGS += \
84 -DUSE_SSE41 -msse4.1 -mstackrealign
85 endif
86
87 include $(MESA_COMMON_MK)
88 include $(BUILD_STATIC_LIBRARY)
89
90 # ---------------------------------------
91 # Build libmesa_i965_gen4
92 # ---------------------------------------
93
94 include $(CLEAR_VARS)
95
96 LOCAL_MODULE := libmesa_i965_gen4
97
98 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
99
100 LOCAL_SRC_FILES := $(i965_gen4_FILES)
101
102 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
103
104 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
105
106 LOCAL_CFLAGS := -DGEN_VERSIONx10=40
107
108 include $(MESA_COMMON_MK)
109 include $(BUILD_STATIC_LIBRARY)
110
111 # ---------------------------------------
112 # Build libmesa_i965_gen45
113 # ---------------------------------------
114
115 include $(CLEAR_VARS)
116
117 LOCAL_MODULE := libmesa_i965_gen45
118
119 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
120
121 LOCAL_SRC_FILES := $(i965_gen45_FILES)
122
123 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
124
125 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
126
127 LOCAL_CFLAGS := -DGEN_VERSIONx10=45
128
129 include $(MESA_COMMON_MK)
130 include $(BUILD_STATIC_LIBRARY)
131
132 # ---------------------------------------
133 # Build libmesa_i965_gen5
134 # ---------------------------------------
135
136 include $(CLEAR_VARS)
137
138 LOCAL_MODULE := libmesa_i965_gen5
139
140 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
141
142 LOCAL_SRC_FILES := $(i965_gen5_FILES)
143
144 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
145
146 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
147
148 LOCAL_CFLAGS := -DGEN_VERSIONx10=50
149
150 include $(MESA_COMMON_MK)
151 include $(BUILD_STATIC_LIBRARY)
152
153 # ---------------------------------------
154 # Build libmesa_i965_gen6
155 # ---------------------------------------
156
157 include $(CLEAR_VARS)
158
159 LOCAL_MODULE := libmesa_i965_gen6
160
161 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
162
163 LOCAL_SRC_FILES := $(i965_gen6_FILES)
164
165 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
166
167 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
168
169 LOCAL_CFLAGS := -DGEN_VERSIONx10=60
170
171 include $(MESA_COMMON_MK)
172 include $(BUILD_STATIC_LIBRARY)
173
174 # ---------------------------------------
175 # Build libmesa_i965_gen7
176 # ---------------------------------------
177
178 include $(CLEAR_VARS)
179
180 LOCAL_MODULE := libmesa_i965_gen7
181
182 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
183
184 LOCAL_SRC_FILES := $(i965_gen7_FILES)
185
186 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
187
188 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
189
190 LOCAL_CFLAGS := -DGEN_VERSIONx10=70
191
192 include $(MESA_COMMON_MK)
193 include $(BUILD_STATIC_LIBRARY)
194
195 # ---------------------------------------
196 # Build libmesa_i965_gen75
197 # ---------------------------------------
198
199 include $(CLEAR_VARS)
200
201 LOCAL_MODULE := libmesa_i965_gen75
202
203 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
204
205 LOCAL_SRC_FILES := $(i965_gen75_FILES)
206
207 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
208
209 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
210
211 LOCAL_CFLAGS := -DGEN_VERSIONx10=75
212
213 include $(MESA_COMMON_MK)
214 include $(BUILD_STATIC_LIBRARY)
215
216 # ---------------------------------------
217 # Build libmesa_i965_gen8
218 # ---------------------------------------
219
220 include $(CLEAR_VARS)
221
222 LOCAL_MODULE := libmesa_i965_gen8
223
224 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
225
226 LOCAL_SRC_FILES := $(i965_gen8_FILES)
227
228 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
229
230 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
231
232 LOCAL_CFLAGS := -DGEN_VERSIONx10=80
233
234 include $(MESA_COMMON_MK)
235 include $(BUILD_STATIC_LIBRARY)
236
237 # ---------------------------------------
238 # Build libmesa_i965_gen9
239 # ---------------------------------------
240
241 include $(CLEAR_VARS)
242
243 LOCAL_MODULE := libmesa_i965_gen9
244
245 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
246
247 LOCAL_SRC_FILES := $(i965_gen9_FILES)
248
249 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
250
251 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
252
253 LOCAL_CFLAGS := -DGEN_VERSIONx10=90
254
255 include $(MESA_COMMON_MK)
256 include $(BUILD_STATIC_LIBRARY)
257
258 # ---------------------------------------
259 # Build libmesa_i965_gen10
260 # ---------------------------------------
261
262 include $(CLEAR_VARS)
263
264 LOCAL_MODULE := libmesa_i965_gen10
265
266 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
267
268 LOCAL_SRC_FILES := $(i965_gen10_FILES)
269
270 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
271
272 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
273
274 LOCAL_CFLAGS := -DGEN_VERSIONx10=100
275
276 include $(MESA_COMMON_MK)
277 include $(BUILD_STATIC_LIBRARY)
278
279 # ---------------------------------------
280 # Build libmesa_i965_gen11
281 # ---------------------------------------
282
283 include $(CLEAR_VARS)
284
285 LOCAL_MODULE := libmesa_i965_gen11
286
287 LOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
288
289 LOCAL_SRC_FILES := $(i965_gen11_FILES)
290
291 LOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
292
293 LOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
294
295 LOCAL_CFLAGS := -DGEN_VERSIONx10=110
296
297 include $(MESA_COMMON_MK)
298 include $(BUILD_STATIC_LIBRARY)
299
300 # ---------------------------------------
301 # Build i965_dri
302 # ---------------------------------------
303
304 include $(CLEAR_VARS)
305
306 LOCAL_MODULE := i965_dri
307 LOCAL_MODULE_RELATIVE_PATH := $(MESA_DRI_MODULE_REL_PATH)
308 LOCAL_LDFLAGS += $(MESA_DRI_LDFLAGS)
309
310 LOCAL_CFLAGS := \
311 $(MESA_DRI_CFLAGS)
312
313 ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
314 LOCAL_CFLAGS += \
315 -DUSE_SSE41
316 endif
317
318 LOCAL_C_INCLUDES := \
319 $(MESA_DRI_C_INCLUDES) \
320 $(MESA_TOP)/include/drm-uapi
321
322 LOCAL_SRC_FILES := \
323 $(i965_FILES)
324
325 LOCAL_WHOLE_STATIC_LIBRARIES := \
326 $(MESA_DRI_WHOLE_STATIC_LIBRARIES) \
327 $(I965_PERGEN_LIBS) \
328 libmesa_intel_tiled_memcpy \
329 libmesa_intel_tiled_memcpy_sse41 \
330 libmesa_intel_dev \
331 libmesa_intel_common \
332 libmesa_isl \
333 libmesa_blorp \
334 libmesa_intel_compiler
335
336 LOCAL_SHARED_LIBRARIES := \
337 $(MESA_DRI_SHARED_LIBRARIES)
338
339 LOCAL_GENERATED_SOURCES := \
340 $(MESA_DRI_OPTIONS_H) \
341 $(MESA_GEN_NIR_H)
342
343 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
344
345 intermediates := $(call local-generated-sources-dir)
346
347 LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
348 $(i965_oa_GENERATED_FILES))
349
350 i965_oa_xml_FILES := $(addprefix $(MESA_TOP)/src/mesa/drivers/dri/i965/, \
351 $(i965_oa_xml_FILES))
352
353 $(intermediates)/brw_oa_metrics.c: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES)
354 @echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
355 @mkdir -p $(dir $@)
356 $(hide) $(MESA_PYTHON2) $< \
357 --code=$@ \
358 --header=$(call generated-sources-dir-for,SHARED_LIBRARIES,i965_dri,,)/brw_oa_metrics.h \
359 $(i965_oa_xml_FILES)
360
361 $(intermediates)/brw_oa_metrics.h: $(intermediates)/brw_oa_metrics.c
362
363 include $(MESA_COMMON_MK)
364 include $(BUILD_SHARED_LIBRARY)