android: intel: Flatten the makefile structure
[mesa.git] / src / intel / Android.isl.mk
1 # Copyright © 2016 Intel Corporation
2 # Copyright © 2016 Mauro Rossi <issor.oruam@gmail.com>
3 #
4 # Permission is hereby granted, free of charge, to any person obtaining a
5 # copy of this software and associated documentation files (the "Software"),
6 # to deal in the Software without restriction, including without limitation
7 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 # and/or sell copies of the Software, and to permit persons to whom the
9 # Software is furnished to do so, subject to the following conditions:
10 #
11 # The above copyright notice and this permission notice shall be included
12 # in all copies or substantial portions of the Software.
13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 # DEALINGS IN THE SOFTWARE.
21 #
22
23 # ---------------------------------------
24 # libmesa_isl_gen* common variables
25 # ---------------------------------------
26
27 LIBISL_GENX_COMMON_INCLUDES := \
28 $(MESA_TOP)/src/ \
29 $(MESA_TOP)/src/mesa/drivers/dri/i965
30
31 # ---------------------------------------
32 # Build libmesa_isl_gen4
33 # ---------------------------------------
34
35 include $(CLEAR_VARS)
36
37 LOCAL_MODULE := libmesa_isl_gen4
38
39 LOCAL_SRC_FILES := $(ISL_GEN4_FILES)
40
41 LOCAL_CFLAGS := -DGEN_VERSIONx10=40
42
43 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
44
45 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
46
47 include $(MESA_COMMON_MK)
48 include $(BUILD_STATIC_LIBRARY)
49
50 # ---------------------------------------
51 # Build libmesa_isl_gen5
52 # ---------------------------------------
53
54 include $(CLEAR_VARS)
55
56 LOCAL_MODULE := libmesa_isl_gen5
57
58 LOCAL_SRC_FILES := $(ISL_GEN5_FILES)
59
60 LOCAL_CFLAGS := -DGEN_VERSIONx10=50
61
62 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
63
64 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
65
66 include $(MESA_COMMON_MK)
67 include $(BUILD_STATIC_LIBRARY)
68
69 # ---------------------------------------
70 # Build libmesa_isl_gen6
71 # ---------------------------------------
72
73 include $(CLEAR_VARS)
74
75 LOCAL_MODULE := libmesa_isl_gen6
76
77 LOCAL_SRC_FILES := $(ISL_GEN6_FILES)
78
79 LOCAL_CFLAGS := -DGEN_VERSIONx10=60
80
81 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
82
83 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
84
85 include $(MESA_COMMON_MK)
86 include $(BUILD_STATIC_LIBRARY)
87
88 # ---------------------------------------
89 # Build libmesa_isl_gen7
90 # ---------------------------------------
91
92 include $(CLEAR_VARS)
93
94 LOCAL_MODULE := libmesa_isl_gen7
95
96 LOCAL_SRC_FILES := $(ISL_GEN7_FILES)
97
98 LOCAL_CFLAGS := -DGEN_VERSIONx10=70
99
100 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
101
102 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
103
104 include $(MESA_COMMON_MK)
105 include $(BUILD_STATIC_LIBRARY)
106
107 # ---------------------------------------
108 # Build libmesa_isl_gen75
109 # ---------------------------------------
110
111 include $(CLEAR_VARS)
112
113 LOCAL_MODULE := libmesa_isl_gen75
114
115 LOCAL_SRC_FILES := $(ISL_GEN75_FILES)
116
117 LOCAL_CFLAGS := -DGEN_VERSIONx10=75
118
119 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
120
121 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
122
123 include $(MESA_COMMON_MK)
124 include $(BUILD_STATIC_LIBRARY)
125
126 # ---------------------------------------
127 # Build libmesa_isl_gen8
128 # ---------------------------------------
129
130 include $(CLEAR_VARS)
131
132 LOCAL_MODULE := libmesa_isl_gen8
133
134 LOCAL_SRC_FILES := $(ISL_GEN8_FILES)
135
136 LOCAL_CFLAGS := -DGEN_VERSIONx10=80
137
138 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
139
140 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
141
142 include $(MESA_COMMON_MK)
143 include $(BUILD_STATIC_LIBRARY)
144
145 # ---------------------------------------
146 # Build libmesa_isl_gen9
147 # ---------------------------------------
148
149 include $(CLEAR_VARS)
150
151 LOCAL_MODULE := libmesa_isl_gen9
152
153 LOCAL_SRC_FILES := $(ISL_GEN9_FILES)
154
155 LOCAL_CFLAGS := -DGEN_VERSIONx10=90
156
157 LOCAL_C_INCLUDES := $(LIBISL_GENX_COMMON_INCLUDES)
158
159 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_genxml
160
161 include $(MESA_COMMON_MK)
162 include $(BUILD_STATIC_LIBRARY)
163
164 # ---------------------------------------
165 # Build libmesa_isl
166 # ---------------------------------------
167
168 include $(CLEAR_VARS)
169
170 LOCAL_MODULE := libmesa_isl
171
172 LOCAL_SRC_FILES := $(ISL_FILES)
173
174 LOCAL_C_INCLUDES := \
175 $(MESA_TOP)/src/gallium/include \
176 $(MESA_TOP)/src/gallium/auxiliary \
177 $(MESA_TOP)/src/mapi \
178 $(MESA_TOP)/src/mesa \
179 $(MESA_TOP)/src/mesa/drivers/dri/i965 \
180
181 LOCAL_EXPORT_C_INCLUDE_DIRS := $(MESA_TOP)/src/intel
182
183 LOCAL_WHOLE_STATIC_LIBRARIES := \
184 libmesa_isl_gen4 \
185 libmesa_isl_gen5 \
186 libmesa_isl_gen6 \
187 libmesa_isl_gen7 \
188 libmesa_isl_gen75 \
189 libmesa_isl_gen8 \
190 libmesa_isl_gen9
191
192 # Autogenerated sources
193
194 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
195
196 intermediates := $(call local-generated-sources-dir)
197
198 LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, $(ISL_GENERATED_FILES))
199
200 define bash-gen
201 @mkdir -p $(dir $@)
202 @echo "Gen Bash: $(PRIVATE_MODULE) <= $(notdir $(@))"
203 $(hide) $(PRIVATE_SCRIPT) --csv $(PRIVATE_CSV) --out $@
204 endef
205
206 isl_format_layout_deps := \
207 $(LOCAL_PATH)/isl/gen_format_layout.py \
208 $(LOCAL_PATH)/isl/isl_format_layout.csv
209
210 $(intermediates)/isl/isl_format_layout.c: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/isl/gen_format_layout.py
211 $(intermediates)/isl/isl_format_layout.c: PRIVATE_CSV := $(LOCAL_PATH)/isl/isl_format_layout.csv
212 $(intermediates)/isl/isl_format_layout.c: $(isl_format_layout_deps)
213 $(call bash-gen)
214
215 include $(MESA_COMMON_MK)
216 include $(BUILD_STATIC_LIBRARY)