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