• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright © 2015 Intel Corporation
2#
3# Permission is hereby granted, free of charge, to any person obtaining a
4# copy of this software and associated documentation files (the "Software"),
5# to deal in the Software without restriction, including without limitation
6# the rights to use, copy, modify, merge, publish, distribute, sublicense,
7# and/or sell copies of the Software, and to permit persons to whom the
8# Software is furnished to do so, subject to the following conditions:
9#
10# The above copyright notice and this permission notice (including the next
11# paragraph) shall be included in all copies or substantial portions of the
12# 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 DEALINGS
20# IN THE SOFTWARE.
21
22include Makefile.sources
23
24vulkan_includedir = $(includedir)/vulkan
25
26noinst_HEADERS = \
27	$(top_srcdir)/include/vulkan/vk_platform.h \
28	$(top_srcdir)/include/vulkan/vulkan.h
29
30vulkan_include_HEADERS = \
31	$(top_srcdir)/include/vulkan/vulkan_intel.h
32
33lib_LTLIBRARIES = libvulkan_intel.la
34
35check_LTLIBRARIES = libvulkan-test.la
36
37PER_GEN_LIBS = \
38	libanv-gen7.la \
39	libanv-gen75.la \
40	libanv-gen8.la \
41	libanv-gen9.la
42
43noinst_LTLIBRARIES = $(PER_GEN_LIBS)
44
45# The gallium includes are for the util/u_math.h include from main/macros.h
46
47AM_CPPFLAGS = \
48	-I$(top_srcdir)/include \
49	-I$(top_builddir)/src \
50	-I$(top_srcdir)/src \
51	-I$(top_srcdir)/src/vulkan/wsi \
52	-I$(top_builddir)/src/compiler \
53	-I$(top_srcdir)/src/compiler \
54	-I$(top_builddir)/src/compiler/nir \
55	-I$(top_srcdir)/src/mapi \
56	-I$(top_srcdir)/src/mesa \
57	-I$(top_srcdir)/src/mesa/drivers/dri/common \
58	-I$(top_srcdir)/src/mesa/drivers/dri/i965 \
59	-I$(top_srcdir)/src/gallium/auxiliary \
60	-I$(top_srcdir)/src/gallium/include \
61	-I$(top_builddir)/src/intel \
62	-I$(top_srcdir)/src/intel
63
64if HAVE_PLATFORM_WAYLAND
65AM_CPPFLAGS += \
66	-I$(top_builddir)/src/egl/wayland/wayland-drm \
67	-I$(top_srcdir)/src/egl/wayland/wayland-drm
68endif
69
70AM_CPPFLAGS += \
71	$(INTEL_CFLAGS) \
72	$(VALGRIND_CFLAGS) \
73	$(DEFINES)
74
75AM_CFLAGS = \
76	$(VISIBILITY_CFLAGS) \
77	-Wno-override-init -msse2
78
79libanv_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
80libanv_gen7_la_SOURCES = $(GEN7_FILES)
81
82libanv_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
83libanv_gen75_la_SOURCES = $(GEN75_FILES)
84
85libanv_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80
86libanv_gen8_la_SOURCES = $(GEN8_FILES)
87
88libanv_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90
89libanv_gen9_la_SOURCES = $(GEN9_FILES)
90
91
92VULKAN_SOURCES = \
93	$(VULKAN_GENERATED_FILES) \
94	$(VULKAN_FILES)
95
96VULKAN_LIB_DEPS =
97
98if HAVE_PLATFORM_X11
99AM_CPPFLAGS += \
100	$(XCB_DRI3_CFLAGS) \
101	-DVK_USE_PLATFORM_XCB_KHR \
102	-DVK_USE_PLATFORM_XLIB_KHR
103
104VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES)
105
106# FIXME: Use pkg-config for X11-xcb ldflags.
107VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb
108endif
109
110
111if HAVE_PLATFORM_WAYLAND
112AM_CPPFLAGS += \
113	$(WAYLAND_CFLAGS) \
114	-DVK_USE_PLATFORM_WAYLAND_KHR
115
116VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
117
118VULKAN_LIB_DEPS += \
119	$(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \
120	$(WAYLAND_LIBS)
121endif
122
123noinst_LTLIBRARIES += libvulkan_common.la
124libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
125
126VULKAN_LIB_DEPS += \
127	libvulkan_common.la \
128	$(top_builddir)/src/vulkan/wsi/libvulkan_wsi.la \
129	$(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \
130	$(top_builddir)/src/compiler/nir/libnir.la \
131	$(top_builddir)/src/util/libmesautil.la \
132	$(top_builddir)/src/intel/common/libintel_common.la \
133	$(top_builddir)/src/intel/isl/libisl.la \
134	$(top_builddir)/src/intel/blorp/libblorp.la \
135	$(PER_GEN_LIBS) \
136	$(PTHREAD_LIBS) \
137	$(DLOPEN_LIBS) \
138	-lm
139
140nodist_EXTRA_libvulkan_intel_la_SOURCES = dummy.cpp
141libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
142
143vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
144
145anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_api_xml)
146	$(AM_V_GEN) cat $(vulkan_api_xml) |\
147	$(PYTHON2) $(srcdir)/anv_entrypoints_gen.py header > $@
148
149anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_api_xml)
150	$(AM_V_GEN) cat $(vulkan_api_xml) |\
151	$(PYTHON2) $(srcdir)/anv_entrypoints_gen.py code > $@
152
153BUILT_SOURCES = $(VULKAN_GENERATED_FILES)
154CLEANFILES = $(BUILT_SOURCES) dev_icd.json intel_icd.@host_cpu@.json
155EXTRA_DIST = \
156	$(top_srcdir)/include/vulkan/vk_icd.h \
157	anv_entrypoints_gen.py \
158	dev_icd.json.in \
159	intel_icd.json.in
160
161libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS)
162
163libvulkan_intel_la_LDFLAGS = \
164	-shared \
165	-module \
166	-no-undefined \
167	-avoid-version \
168	$(BSYMBOLIC) \
169	$(GC_SECTIONS) \
170	$(LD_NO_UNDEFINED)
171
172
173icdconfdir = @VULKAN_ICD_INSTALL_DIR@
174icdconf_DATA = intel_icd.@host_cpu@.json
175# The following is used for development purposes, by setting VK_ICD_FILENAMES.
176noinst_DATA = dev_icd.json
177
178dev_icd.json : dev_icd.json.in
179	$(AM_V_GEN) $(SED) \
180		-e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
181		< $(srcdir)/dev_icd.json.in > $@
182
183intel_icd.@host_cpu@.json : intel_icd.json.in
184	$(AM_V_GEN) $(SED) \
185		-e "s#@install_libdir@#${libdir}#" \
186		< $(srcdir)/intel_icd.json.in > $@
187
188# Libvulkan with dummy gem. Used for unit tests.
189libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES)
190libvulkan_test_la_LIBADD = $(VULKAN_LIB_DEPS)
191
192include $(top_srcdir)/install-lib-links.mk
193
194noinst_HEADERS += \
195	tests/state_pool_test_helper.h
196
197LDADD = \
198	libvulkan-test.la \
199	$(PTHREAD_LIBS) -lm -lstdc++
200
201check_PROGRAMS = \
202	tests/block_pool_no_free \
203	tests/state_pool_no_free \
204	tests/state_pool_free_list_only \
205	tests/state_pool
206
207TESTS = $(check_PROGRAMS)
208