include Makefile.sources
-# Hack to make some of the non-automake variables work.
-TOP=$(top_builddir)
-
AM_CFLAGS = \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src/ \
-I$(top_srcdir)/src/mapi \
-I$(top_srcdir)/src/mesa/ \
- -I../common \
- -I../intel \
- -I../intel/server \
+ -I$(top_srcdir)/src/gallium/include \
+ -I$(top_srcdir)/src/gallium/auxiliary \
+ -I$(top_builddir)/src/mesa/drivers/dri/common \
+ -I$(top_srcdir)/src/mesa/drivers/dri/common \
+ -I$(top_srcdir)/src/gtest/include \
+ -I$(top_builddir)/src/compiler/glsl \
+ -I$(top_builddir)/src/compiler/nir \
+ -I$(top_srcdir)/src/compiler/nir \
+ -I$(top_builddir)/src/intel \
+ -I$(top_srcdir)/src/intel \
+ -I$(top_srcdir)/src/intel/drm \
$(DEFINES) \
- $(ASM_FLAGS) \
- $(API_DEFINES) \
- $(INTEL_CFLAGS)
+ $(VISIBILITY_CFLAGS) \
+ $(LIBDRM_CFLAGS) \
+ $(VALGRIND_CFLAGS)
AM_CXXFLAGS = $(AM_CFLAGS)
-dridir = $(DRI_DRIVER_INSTALL_DIR)
-
-if HAVE_I965_DRI
-dri_LTLIBRARIES = i965_dri.la
-endif
-
-# These should be an ltlibrary that's built once. Let's fix that once
-# the other drivers are converted to automake.
-COMMON_FILES = \
- ../common/utils.c \
- ../common/dri_util.c \
- ../common/xmlconfig.c
-
-i965_dri_la_SOURCES = \
- $(i965_C_FILES) \
- $(i965_CXX_FILES) \
- $(COMMON_FILES)
-
-i965_dri_la_LDFLAGS = -module -avoid-version -shared
-i965_dri_la_LIBADD = \
- $(DRI_LIB_DEPS) \
- $(DRICORE_LIB_DEPS) \
- $(INTEL_LIBS)
-
-# Test build to make sure that we didn't leave any undefined symbols in the
-# driver.
-noinst_PROGRAMS = i965_symbols_test
-
-i965_symbols_test_SOURCES = \
- ../common/dri_test.c
-i965_symbols_test_LDADD = \
- i965_dri.la
-
-# Provide compatibility with scripts for the old Mesa build system for
-# a while by putting a link to the driver into /lib of the build tree.
-all-local: i965_dri.la
- $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
- ln -f .libs/i965_dri.so $(top_builddir)/$(LIB_DIR)/i965_dri.so;
+I965_PERGEN_LIBS = \
+ libi965_gen4.la \
+ libi965_gen45.la \
+ libi965_gen5.la \
+ libi965_gen6.la \
+ libi965_gen7.la \
+ libi965_gen75.la \
+ libi965_gen8.la \
+ libi965_gen9.la \
+ libi965_gen10.la
+
+libi965_gen4_la_SOURCES = $(i965_gen4_FILES)
+libi965_gen4_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=40
+
+libi965_gen45_la_SOURCES = $(i965_gen45_FILES)
+libi965_gen45_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=45
+
+libi965_gen5_la_SOURCES = $(i965_gen5_FILES)
+libi965_gen5_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=50
+
+libi965_gen6_la_SOURCES = $(i965_gen6_FILES)
+libi965_gen6_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=60
+
+libi965_gen7_la_SOURCES = $(i965_gen7_FILES)
+libi965_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
+
+libi965_gen75_la_SOURCES = $(i965_gen75_FILES)
+libi965_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
+
+libi965_gen8_la_SOURCES = $(i965_gen8_FILES)
+libi965_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80
+
+libi965_gen9_la_SOURCES = $(i965_gen9_FILES)
+libi965_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90
+
+libi965_gen10_la_SOURCES = $(i965_gen10_FILES)
+libi965_gen10_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=100
+
+noinst_LTLIBRARIES = \
+ libi965_dri.la \
+ $(I965_PERGEN_LIBS)
+
+libi965_dri_la_SOURCES = \
+ $(i965_FILES) \
+ $(i965_oa_GENERATED_FILES)
+libi965_dri_la_LIBADD = \
+ $(top_builddir)/src/intel/common/libintel_common.la \
+ $(top_builddir)/src/intel/isl/libisl.la \
+ $(top_builddir)/src/intel/compiler/libintel_compiler.la \
+ $(top_builddir)/src/intel/blorp/libblorp.la \
+ $(I965_PERGEN_LIBS) \
+ $(LIBDRM_LIBS)
+
+BUILT_SOURCES = $(i965_oa_GENERATED_FILES)
+CLEANFILES = $(BUILT_SOURCES)
+
+EXTRA_DIST = \
+ brw_oa_hsw.xml \
+ brw_oa_bdw.xml \
+ brw_oa_chv.xml \
+ brw_oa_sklgt2.xml \
+ brw_oa_sklgt3.xml \
+ brw_oa_sklgt4.xml \
+ brw_oa_bxt.xml \
+ brw_oa_kblgt2.xml \
+ brw_oa_kblgt3.xml \
+ brw_oa.py
+
+# Note: we avoid using a multi target rule here and outputting both the
+# .c and .h files in one go so we don't hit problems with parallel
+# make and multiple invocations of the same script trying to write
+# to the same files.
+brw_oa_%.h: brw_oa.py brw_oa_%.xml Makefile.am
+ $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --header=$(builddir)/brw_oa_$(*).h --chipset=$(*) $(srcdir)/brw_oa_$(*).xml
+brw_oa_%.c: brw_oa.py brw_oa_%.xml Makefile.am
+ $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_$(*).c --chipset=$(*) $(srcdir)/brw_oa_$(*).xml