i965: avoid using a GNU make pattern rule
[mesa.git] / src / mesa / drivers / dri / i965 / Makefile.am
1
2
3 # Copyright © 2011 Intel Corporation
4 #
5 # Permission is hereby granted, free of charge, to any person obtaining a
6 # copy of this software and associated documentation files (the "Software"),
7 # to deal in the Software without restriction, including without limitation
8 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 # and/or sell copies of the Software, and to permit persons to whom the
10 # Software is furnished to do so, subject to the following conditions:
11 #
12 # The above copyright notice and this permission notice (including the next
13 # paragraph) shall be included in all copies or substantial portions of the
14 # 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 DEALINGS
22 # IN THE SOFTWARE.
23
24 include Makefile.sources
25
26 AM_CFLAGS = \
27 -I$(top_srcdir)/include \
28 -I$(top_srcdir)/src/ \
29 -I$(top_srcdir)/src/mapi \
30 -I$(top_srcdir)/src/mesa/ \
31 -I$(top_srcdir)/src/gallium/include \
32 -I$(top_srcdir)/src/gallium/auxiliary \
33 -I$(top_builddir)/src/mesa/drivers/dri/common \
34 -I$(top_srcdir)/src/mesa/drivers/dri/common \
35 -I$(top_srcdir)/src/gtest/include \
36 -I$(top_builddir)/src/compiler/glsl \
37 -I$(top_builddir)/src/compiler/nir \
38 -I$(top_srcdir)/src/compiler/nir \
39 -I$(top_builddir)/src/intel \
40 -I$(top_srcdir)/src/intel \
41 $(DEFINES) \
42 $(VISIBILITY_CFLAGS) \
43 $(INTEL_CFLAGS)
44
45 AM_CXXFLAGS = $(AM_CFLAGS)
46
47 I965_PERGEN_LIBS = \
48 libi965_gen6.la \
49 libi965_gen7.la \
50 libi965_gen75.la \
51 libi965_gen8.la \
52 libi965_gen9.la
53
54 libi965_gen6_la_SOURCES = $(i965_gen6_FILES)
55 libi965_gen6_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=60
56
57 libi965_gen7_la_SOURCES = $(i965_gen7_FILES)
58 libi965_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
59
60 libi965_gen75_la_SOURCES = $(i965_gen75_FILES)
61 libi965_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
62
63 libi965_gen8_la_SOURCES = $(i965_gen8_FILES)
64 libi965_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80
65
66 libi965_gen9_la_SOURCES = $(i965_gen9_FILES)
67 libi965_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90
68
69 noinst_LTLIBRARIES = \
70 libi965_dri.la \
71 $(I965_PERGEN_LIBS)
72
73 libi965_dri_la_SOURCES = \
74 $(i965_FILES) \
75 $(i965_oa_GENERATED_FILES)
76 libi965_dri_la_LIBADD = \
77 $(top_builddir)/src/intel/common/libintel_common.la \
78 $(top_builddir)/src/intel/isl/libisl.la \
79 $(top_builddir)/src/intel/compiler/libintel_compiler.la \
80 $(top_builddir)/src/intel/blorp/libblorp.la \
81 $(I965_PERGEN_LIBS) \
82 $(INTEL_LIBS)
83
84 BUILT_SOURCES = $(i965_oa_GENERATED_FILES)
85 CLEANFILES = $(BUILT_SOURCES)
86
87 EXTRA_DIST = \
88 brw_oa_hsw.xml \
89 brw_oa.py
90
91 # Note: we avoid using a multi target rule here and outputting both the
92 # .c and .h files in one go so we don't hit problems with parallel
93 # make and multiple invocations of the same script trying to write
94 # to the same files.
95 brw_oa_hsw.h: brw_oa.py brw_oa_hsw.xml
96 $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --header=$(builddir)/brw_oa_hsw.h --chipset=hsw $(srcdir)/brw_oa_hsw.xml
97 brw_oa_hsw.c: brw_oa.py brw_oa_hsw.xml
98 $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/brw_oa.py --code=$(builddir)/brw_oa_hsw.c --chipset=hsw $(srcdir)/brw_oa_hsw.xml
99