1848b8605Smrg#
2848b8605Smrg# Copyright (C) 2011 Intel Corporation
3848b8605Smrg# Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4848b8605Smrg# Copyright (C) 2010-2011 LunarG
5848b8605Smrg#
6848b8605Smrg# Permission is hereby granted, free of charge, to any person obtaining a
7848b8605Smrg# copy of this software and associated documentation files (the "Software"),
8848b8605Smrg# to deal in the Software without restriction, including without limitation
9848b8605Smrg# the rights to use, copy, modify, merge, publish, distribute, sublicense,
10848b8605Smrg# and/or sell copies of the Software, and to permit persons to whom the
11848b8605Smrg# Software is furnished to do so, subject to the following conditions:
12848b8605Smrg#
13848b8605Smrg# The above copyright notice and this permission notice shall be included
14848b8605Smrg# in all copies or substantial portions of the Software.
15848b8605Smrg#
16848b8605Smrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17848b8605Smrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18848b8605Smrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19848b8605Smrg# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20848b8605Smrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21848b8605Smrg# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22848b8605Smrg# DEALINGS IN THE SOFTWARE.
23848b8605Smrg#
24848b8605Smrg
25848b8605SmrgLOCAL_PATH := $(call my-dir)
26848b8605Smrg
27848b8605Smrg# Import variables i965_FILES.
28848b8605Smrginclude $(LOCAL_PATH)/Makefile.sources
29848b8605Smrg
30b8e80941SmrgI965_PERGEN_COMMON_INCLUDES := \
31b8e80941Smrg	$(MESA_DRI_C_INCLUDES) \
32b8e80941Smrg	$(MESA_TOP)/src/intel \
33b8e80941Smrg	$(MESA_TOP)/include
34b8e80941Smrg
35b8e80941SmrgI965_PERGEN_SHARED_LIBRARIES := \
36b8e80941Smrg	$(MESA_DRI_SHARED_LIBRARIES)
37b8e80941Smrg
38b8e80941SmrgI965_PERGEN_STATIC_LIBRARIES := \
39b8e80941Smrg	libmesa_genxml \
40b8e80941Smrg	libmesa_nir
41b8e80941Smrg
42b8e80941SmrgI965_PERGEN_LIBS := \
43b8e80941Smrg	libmesa_i965_gen4 \
44b8e80941Smrg	libmesa_i965_gen45 \
45b8e80941Smrg	libmesa_i965_gen5 \
46b8e80941Smrg	libmesa_i965_gen6 \
47b8e80941Smrg	libmesa_i965_gen7 \
48b8e80941Smrg	libmesa_i965_gen75 \
49b8e80941Smrg	libmesa_i965_gen8 \
50b8e80941Smrg	libmesa_i965_gen9 \
51b8e80941Smrg	libmesa_i965_gen10 \
52b8e80941Smrg	libmesa_i965_gen11
53b8e80941Smrg
54b8e80941Smrg# ---------------------------------------
55b8e80941Smrg# Build libmesa_i965_gen4
56b8e80941Smrg# ---------------------------------------
57b8e80941Smrg
58b8e80941Smrginclude $(CLEAR_VARS)
59b8e80941Smrg
60b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen4
61b8e80941Smrg
62b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
63b8e80941Smrg
64b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen4_FILES)
65b8e80941Smrg
66b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
67b8e80941Smrg
68b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
69b8e80941Smrg
70b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=40
71b8e80941Smrg
72b8e80941Smrginclude $(MESA_COMMON_MK)
73b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
74b8e80941Smrg
75b8e80941Smrg# ---------------------------------------
76b8e80941Smrg# Build libmesa_i965_gen45
77b8e80941Smrg# ---------------------------------------
78b8e80941Smrg
79b8e80941Smrginclude $(CLEAR_VARS)
80b8e80941Smrg
81b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen45
82b8e80941Smrg
83b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
84b8e80941Smrg
85b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen45_FILES)
86b8e80941Smrg
87b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
88b8e80941Smrg
89b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
90b8e80941Smrg
91b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=45
92b8e80941Smrg
93b8e80941Smrginclude $(MESA_COMMON_MK)
94b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
95b8e80941Smrg
96b8e80941Smrg# ---------------------------------------
97b8e80941Smrg# Build libmesa_i965_gen5
98b8e80941Smrg# ---------------------------------------
99b8e80941Smrg
100b8e80941Smrginclude $(CLEAR_VARS)
101b8e80941Smrg
102b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen5
103b8e80941Smrg
104b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
105b8e80941Smrg
106b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen5_FILES)
107b8e80941Smrg
108b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
109b8e80941Smrg
110b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
111b8e80941Smrg
112b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=50
113b8e80941Smrg
114b8e80941Smrginclude $(MESA_COMMON_MK)
115b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
116b8e80941Smrg
117b8e80941Smrg# ---------------------------------------
118b8e80941Smrg# Build libmesa_i965_gen6
119b8e80941Smrg# ---------------------------------------
120b8e80941Smrg
121b8e80941Smrginclude $(CLEAR_VARS)
122b8e80941Smrg
123b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen6
124b8e80941Smrg
125b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
126b8e80941Smrg
127b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen6_FILES)
128b8e80941Smrg
129b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
130b8e80941Smrg
131b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
132b8e80941Smrg
133b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=60
134b8e80941Smrg
135b8e80941Smrginclude $(MESA_COMMON_MK)
136b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
137b8e80941Smrg
138b8e80941Smrg# ---------------------------------------
139b8e80941Smrg# Build libmesa_i965_gen7
140b8e80941Smrg# ---------------------------------------
141b8e80941Smrg
142b8e80941Smrginclude $(CLEAR_VARS)
143b8e80941Smrg
144b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen7
145b8e80941Smrg
146b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
147b8e80941Smrg
148b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen7_FILES)
149b8e80941Smrg
150b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
151b8e80941Smrg
152b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
153b8e80941Smrg
154b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=70
155b8e80941Smrg
156b8e80941Smrginclude $(MESA_COMMON_MK)
157b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
158b8e80941Smrg
159b8e80941Smrg# ---------------------------------------
160b8e80941Smrg# Build libmesa_i965_gen75
161b8e80941Smrg# ---------------------------------------
162b8e80941Smrg
163b8e80941Smrginclude $(CLEAR_VARS)
164b8e80941Smrg
165b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen75
166b8e80941Smrg
167b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
168b8e80941Smrg
169b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen75_FILES)
170b8e80941Smrg
171b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
172b8e80941Smrg
173b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
174b8e80941Smrg
175b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=75
176b8e80941Smrg
177b8e80941Smrginclude $(MESA_COMMON_MK)
178b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
179b8e80941Smrg
180b8e80941Smrg# ---------------------------------------
181b8e80941Smrg# Build libmesa_i965_gen8
182b8e80941Smrg# ---------------------------------------
183b8e80941Smrg
184b8e80941Smrginclude $(CLEAR_VARS)
185b8e80941Smrg
186b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen8
187b8e80941Smrg
188b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
189b8e80941Smrg
190b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen8_FILES)
191b8e80941Smrg
192b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
193b8e80941Smrg
194b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
195b8e80941Smrg
196b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=80
197b8e80941Smrg
198b8e80941Smrginclude $(MESA_COMMON_MK)
199b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
200b8e80941Smrg
201b8e80941Smrg# ---------------------------------------
202b8e80941Smrg# Build libmesa_i965_gen9
203b8e80941Smrg# ---------------------------------------
204b8e80941Smrg
205b8e80941Smrginclude $(CLEAR_VARS)
206b8e80941Smrg
207b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen9
208b8e80941Smrg
209b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
210b8e80941Smrg
211b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen9_FILES)
212b8e80941Smrg
213b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
214b8e80941Smrg
215b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
216b8e80941Smrg
217b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=90
218b8e80941Smrg
219b8e80941Smrginclude $(MESA_COMMON_MK)
220b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
221b8e80941Smrg
222b8e80941Smrg# ---------------------------------------
223b8e80941Smrg# Build libmesa_i965_gen10
224b8e80941Smrg# ---------------------------------------
225b8e80941Smrg
226b8e80941Smrginclude $(CLEAR_VARS)
227b8e80941Smrg
228b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen10
229b8e80941Smrg
230b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
231b8e80941Smrg
232b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen10_FILES)
233b8e80941Smrg
234b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
235b8e80941Smrg
236b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
237b8e80941Smrg
238b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=100
239b8e80941Smrg
240b8e80941Smrginclude $(MESA_COMMON_MK)
241b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
242b8e80941Smrg
243b8e80941Smrg# ---------------------------------------
244b8e80941Smrg# Build libmesa_i965_gen11
245b8e80941Smrg# ---------------------------------------
246b8e80941Smrg
247b8e80941Smrginclude $(CLEAR_VARS)
248b8e80941Smrg
249b8e80941SmrgLOCAL_MODULE := libmesa_i965_gen11
250b8e80941Smrg
251b8e80941SmrgLOCAL_C_INCLUDES := $(I965_PERGEN_COMMON_INCLUDES)
252b8e80941Smrg
253b8e80941SmrgLOCAL_SRC_FILES := $(i965_gen11_FILES)
254b8e80941Smrg
255b8e80941SmrgLOCAL_SHARED_LIBRARIES := $(I965_PERGEN_SHARED_LIBRARIES)
256b8e80941Smrg
257b8e80941SmrgLOCAL_STATIC_LIBRARIES := $(I965_PERGEN_STATIC_LIBRARIES)
258b8e80941Smrg
259b8e80941SmrgLOCAL_CFLAGS := -DGEN_VERSIONx10=110
260b8e80941Smrg
261b8e80941Smrginclude $(MESA_COMMON_MK)
262b8e80941Smrginclude $(BUILD_STATIC_LIBRARY)
263b8e80941Smrg
264b8e80941Smrg# ---------------------------------------
265b8e80941Smrg# Build i965_dri
266b8e80941Smrg# ---------------------------------------
267b8e80941Smrg
268b8e80941Smrginclude $(CLEAR_VARS)
269b8e80941Smrg
270b8e80941SmrgLOCAL_MODULE := i965_dri
271b8e80941SmrgLOCAL_MODULE_RELATIVE_PATH := $(MESA_DRI_MODULE_REL_PATH)
272b8e80941SmrgLOCAL_LDFLAGS += $(MESA_DRI_LDFLAGS)
273b8e80941Smrg
274848b8605SmrgLOCAL_CFLAGS := \
275848b8605Smrg	$(MESA_DRI_CFLAGS)
276848b8605Smrg
277848b8605SmrgLOCAL_C_INCLUDES := \
278b8e80941Smrg	$(MESA_DRI_C_INCLUDES) \
279b8e80941Smrg	$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_glsl,,) \
280b8e80941Smrg	$(MESA_TOP)/include
281848b8605Smrg
282848b8605SmrgLOCAL_SRC_FILES := \
283848b8605Smrg	$(i965_FILES)
284848b8605Smrg
285848b8605SmrgLOCAL_WHOLE_STATIC_LIBRARIES := \
286b8e80941Smrg	$(MESA_DRI_WHOLE_STATIC_LIBRARIES) \
287b8e80941Smrg	$(I965_PERGEN_LIBS) \
288b8e80941Smrg	libmesa_intel_dev \
289b8e80941Smrg	libmesa_intel_common \
290b8e80941Smrg	libmesa_isl \
291b8e80941Smrg	libmesa_blorp \
292b8e80941Smrg	libmesa_intel_compiler \
293b8e80941Smrg	libmesa_intel_perf
294b8e80941Smrg
295b8e80941Smrgifeq ($(ARCH_X86_HAVE_SSE4_1),true)
296b8e80941SmrgLOCAL_CFLAGS += \
297b8e80941Smrg	-DUSE_SSE41
298b8e80941Smrgendif
299848b8605Smrg
300848b8605SmrgLOCAL_SHARED_LIBRARIES := \
301b8e80941Smrg	$(MESA_DRI_SHARED_LIBRARIES)
302848b8605Smrg
303848b8605SmrgLOCAL_GENERATED_SOURCES := \
304b8e80941Smrg	$(MESA_DRI_OPTIONS_H) \
305b8e80941Smrg	$(MESA_GEN_NIR_H)
306b8e80941Smrg
307b8e80941SmrgLOCAL_MODULE_CLASS := SHARED_LIBRARIES
308b8e80941Smrg
309b8e80941Smrgintermediates := $(call local-generated-sources-dir)
310b8e80941Smrg
311b8e80941SmrgLOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, \
312b8e80941Smrg	$(i965_oa_GENERATED_FILES))
313b8e80941Smrg
314b8e80941Smrgi965_oa_xml_FILES := $(addprefix $(MESA_TOP)/src/mesa/drivers/dri/i965/, \
315b8e80941Smrg	$(i965_oa_xml_FILES))
316b8e80941Smrg
317b8e80941Smrg$(intermediates)/brw_oa_metrics.c: $(LOCAL_PATH)/brw_oa.py $(i965_oa_xml_FILES)
318b8e80941Smrg	@echo "target Generated: $(PRIVATE_MODULE) <= $(notdir $(@))"
319b8e80941Smrg	@mkdir -p $(dir $@)
320b8e80941Smrg	$(hide) $(MESA_PYTHON2) $< \
321b8e80941Smrg	--code=$@ \
322b8e80941Smrg	--header=$(call generated-sources-dir-for,SHARED_LIBRARIES,i965_dri,,)/brw_oa_metrics.h \
323b8e80941Smrg	$(i965_oa_xml_FILES)
324b8e80941Smrg
325b8e80941Smrg$(intermediates)/brw_oa_metrics.h: $(intermediates)/brw_oa_metrics.c
326848b8605Smrg
327848b8605Smrginclude $(MESA_COMMON_MK)
328848b8605Smrginclude $(BUILD_SHARED_LIBRARY)
329