2 # Copyright (C) 2011 Intel Corporation
3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4 # Copyright (C) 2010-2011 LunarG
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:
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
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.
25 LOCAL_PATH
:= $(call my-dir
)
27 # Import variables i965_FILES.
28 include $(LOCAL_PATH
)/Makefile.sources
30 I965_PERGEN_COMMON_INCLUDES
:= \
31 $(MESA_DRI_C_INCLUDES
) \
32 $(MESA_TOP
)/src
/intel \
33 $(MESA_TOP
)/include/drm-uapi
35 I965_PERGEN_SHARED_LIBRARIES
:= \
36 $(MESA_DRI_SHARED_LIBRARIES
)
38 I965_PERGEN_STATIC_LIBRARIES
:= \
55 # ---------------------------------------
56 # Build libmesa_intel_tiled_memcpy
57 # ---------------------------------------
61 LOCAL_MODULE
:= libmesa_intel_tiled_memcpy
63 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
65 LOCAL_SRC_FILES
:= $(intel_tiled_memcpy_FILES
)
67 include $(MESA_COMMON_MK
)
68 include $(BUILD_STATIC_LIBRARY
)
70 # ---------------------------------------
71 # Build libmesa_intel_tiled_memcpy_sse41
72 # ---------------------------------------
76 LOCAL_MODULE
:= libmesa_intel_tiled_memcpy_sse41
78 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
80 LOCAL_SRC_FILES
:= $(intel_tiled_memcpy_sse41_FILES
)
82 ifeq ($(ARCH_X86_HAVE_SSE4_1
),true
)
84 -DUSE_SSE41
-msse4.1
-mstackrealign
87 include $(MESA_COMMON_MK
)
88 include $(BUILD_STATIC_LIBRARY
)
90 # ---------------------------------------
91 # Build libmesa_i965_gen4
92 # ---------------------------------------
96 LOCAL_MODULE
:= libmesa_i965_gen4
98 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
100 LOCAL_SRC_FILES
:= $(i965_gen4_FILES
)
102 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
104 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
106 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=40
108 include $(MESA_COMMON_MK
)
109 include $(BUILD_STATIC_LIBRARY
)
111 # ---------------------------------------
112 # Build libmesa_i965_gen45
113 # ---------------------------------------
115 include $(CLEAR_VARS
)
117 LOCAL_MODULE
:= libmesa_i965_gen45
119 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
121 LOCAL_SRC_FILES
:= $(i965_gen45_FILES
)
123 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
125 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
127 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=45
129 include $(MESA_COMMON_MK
)
130 include $(BUILD_STATIC_LIBRARY
)
132 # ---------------------------------------
133 # Build libmesa_i965_gen5
134 # ---------------------------------------
136 include $(CLEAR_VARS
)
138 LOCAL_MODULE
:= libmesa_i965_gen5
140 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
142 LOCAL_SRC_FILES
:= $(i965_gen5_FILES
)
144 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
146 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
148 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=50
150 include $(MESA_COMMON_MK
)
151 include $(BUILD_STATIC_LIBRARY
)
153 # ---------------------------------------
154 # Build libmesa_i965_gen6
155 # ---------------------------------------
157 include $(CLEAR_VARS
)
159 LOCAL_MODULE
:= libmesa_i965_gen6
161 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
163 LOCAL_SRC_FILES
:= $(i965_gen6_FILES
)
165 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
167 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
169 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=60
171 include $(MESA_COMMON_MK
)
172 include $(BUILD_STATIC_LIBRARY
)
174 # ---------------------------------------
175 # Build libmesa_i965_gen7
176 # ---------------------------------------
178 include $(CLEAR_VARS
)
180 LOCAL_MODULE
:= libmesa_i965_gen7
182 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
184 LOCAL_SRC_FILES
:= $(i965_gen7_FILES
)
186 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
188 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
190 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=70
192 include $(MESA_COMMON_MK
)
193 include $(BUILD_STATIC_LIBRARY
)
195 # ---------------------------------------
196 # Build libmesa_i965_gen75
197 # ---------------------------------------
199 include $(CLEAR_VARS
)
201 LOCAL_MODULE
:= libmesa_i965_gen75
203 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
205 LOCAL_SRC_FILES
:= $(i965_gen75_FILES
)
207 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
209 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
211 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=75
213 include $(MESA_COMMON_MK
)
214 include $(BUILD_STATIC_LIBRARY
)
216 # ---------------------------------------
217 # Build libmesa_i965_gen8
218 # ---------------------------------------
220 include $(CLEAR_VARS
)
222 LOCAL_MODULE
:= libmesa_i965_gen8
224 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
226 LOCAL_SRC_FILES
:= $(i965_gen8_FILES
)
228 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
230 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
232 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=80
234 include $(MESA_COMMON_MK
)
235 include $(BUILD_STATIC_LIBRARY
)
237 # ---------------------------------------
238 # Build libmesa_i965_gen9
239 # ---------------------------------------
241 include $(CLEAR_VARS
)
243 LOCAL_MODULE
:= libmesa_i965_gen9
245 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
247 LOCAL_SRC_FILES
:= $(i965_gen9_FILES
)
249 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
251 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
253 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=90
255 include $(MESA_COMMON_MK
)
256 include $(BUILD_STATIC_LIBRARY
)
258 # ---------------------------------------
259 # Build libmesa_i965_gen10
260 # ---------------------------------------
262 include $(CLEAR_VARS
)
264 LOCAL_MODULE
:= libmesa_i965_gen10
266 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
268 LOCAL_SRC_FILES
:= $(i965_gen10_FILES
)
270 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
272 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
274 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=100
276 include $(MESA_COMMON_MK
)
277 include $(BUILD_STATIC_LIBRARY
)
279 # ---------------------------------------
280 # Build libmesa_i965_gen11
281 # ---------------------------------------
283 include $(CLEAR_VARS
)
285 LOCAL_MODULE
:= libmesa_i965_gen11
287 LOCAL_C_INCLUDES
:= $(I965_PERGEN_COMMON_INCLUDES
)
289 LOCAL_SRC_FILES
:= $(i965_gen11_FILES
)
291 LOCAL_SHARED_LIBRARIES
:= $(I965_PERGEN_SHARED_LIBRARIES
)
293 LOCAL_STATIC_LIBRARIES
:= $(I965_PERGEN_STATIC_LIBRARIES
)
295 LOCAL_CFLAGS
:= -DGEN_VERSIONx10
=110
297 include $(MESA_COMMON_MK
)
298 include $(BUILD_STATIC_LIBRARY
)
300 # ---------------------------------------
302 # ---------------------------------------
304 include $(CLEAR_VARS
)
306 LOCAL_MODULE
:= i965_dri
307 LOCAL_MODULE_RELATIVE_PATH
:= $(MESA_DRI_MODULE_REL_PATH
)
308 LOCAL_LDFLAGS
+= $(MESA_DRI_LDFLAGS
)
313 ifeq ($(ARCH_X86_HAVE_SSE4_1
),true
)
318 LOCAL_C_INCLUDES
:= \
319 $(MESA_DRI_C_INCLUDES
) \
320 $(MESA_TOP
)/include/drm-uapi
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 \
331 libmesa_intel_common \
334 libmesa_intel_compiler
336 LOCAL_SHARED_LIBRARIES
:= \
337 $(MESA_DRI_SHARED_LIBRARIES
)
339 LOCAL_GENERATED_SOURCES
:= \
340 $(MESA_DRI_OPTIONS_H
) \
343 LOCAL_MODULE_CLASS
:= SHARED_LIBRARIES
345 intermediates
:= $(call local-generated-sources-dir
)
347 LOCAL_GENERATED_SOURCES
+= $(addprefix $(intermediates
)/, \
348 $(i965_oa_GENERATED_FILES
))
350 i965_oa_xml_FILES
:= $(addprefix $(MESA_TOP
)/src
/mesa
/drivers
/dri
/i965
/, \
351 $(i965_oa_xml_FILES
))
353 $(intermediates
)/brw_oa_metrics.c
: $(LOCAL_PATH
)/brw_oa.py
$(i965_oa_xml_FILES
)
354 @echo
"target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
356 $(hide
) $(MESA_PYTHON2
) $< \
358 --header
=$(call generated-sources-dir-for
,SHARED_LIBRARIES
,i965_dri
,,)/brw_oa_metrics.h \
361 $(intermediates
)/brw_oa_metrics.h
: $(intermediates
)/brw_oa_metrics.c
363 include $(MESA_COMMON_MK
)
364 include $(BUILD_SHARED_LIBRARY
)