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