# Copyright © 2015 Intel Corporation # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice (including the next # paragraph) shall be included in all copies or substantial portions of the # Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # IN THE SOFTWARE. include Makefile.sources SUBDIRS = . tests vulkan_includedir = $(includedir)/vulkan vulkan_include_HEADERS = \ $(top_srcdir)/include/vulkan/vk_platform.h \ $(top_srcdir)/include/vulkan/vulkan.h \ $(top_srcdir)/include/vulkan/vulkan_intel.h # Used when generating entrypoints to filter out unwanted extensions VULKAN_ENTRYPOINT_CPPFLAGS = \ -I$(top_srcdir)/include/vulkan \ -DVK_USE_PLATFORM_XCB_KHR lib_LTLIBRARIES = libvulkan_intel.la check_LTLIBRARIES = libvulkan-test.la PER_GEN_LIBS = \ libanv-gen7.la \ libanv-gen75.la \ libanv-gen8.la \ libanv-gen9.la noinst_LTLIBRARIES = $(PER_GEN_LIBS) # The gallium includes are for the util/u_math.h include from main/macros.h AM_CPPFLAGS = \ $(INTEL_CFLAGS) \ $(VALGRIND_CFLAGS) \ $(DEFINES) \ -I$(top_srcdir)/include \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/compiler \ -I$(top_srcdir)/src/mapi \ -I$(top_srcdir)/src/mesa \ -I$(top_srcdir)/src/mesa/drivers/dri/common \ -I$(top_srcdir)/src/mesa/drivers/dri/i965 \ -I$(top_srcdir)/src/gallium/auxiliary \ -I$(top_srcdir)/src/gallium/include \ -I$(top_srcdir)/src/intel/ \ -I$(top_builddir)/src \ -I$(top_builddir)/src/compiler \ -I$(top_builddir)/src/compiler/nir \ -I$(top_builddir)/src/intel AM_CFLAGS = -DVK_USE_PLATFORM_XCB_KHR -Wno-override-init -msse2 VULKAN_SOURCES = \ $(VULKAN_FILES) \ $(VULKAN_WSI_X11_FILES) BUILT_SOURCES = \ $(VULKAN_GENERATED_FILES) libanv_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70 libanv_gen7_la_SOURCES = $(GEN7_FILES) libanv_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75 libanv_gen75_la_SOURCES = $(GEN75_FILES) libanv_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80 libanv_gen8_la_SOURCES = $(GEN8_FILES) libanv_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90 libanv_gen9_la_SOURCES = $(GEN9_FILES) if HAVE_EGL_PLATFORM_WAYLAND BUILT_SOURCES += \ wayland-drm-protocol.c \ wayland-drm-client-protocol.h %-protocol.c : $(top_srcdir)/src/egl/wayland/wayland-drm/%.xml $(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@ %-client-protocol.h : $(top_srcdir)/src/egl/wayland/wayland-drm/%.xml $(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@ AM_CPPFLAGS += -I$(top_srcdir)/src/egl/wayland/wayland-drm VULKAN_SOURCES += \ wayland-drm-protocol.c \ $(VULKAN_WSI_WAYLAND_FILES) AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM -DVK_USE_PLATFORM_WAYLAND_KHR VULKAN_ENTRYPOINT_CPPFLAGS += -DVK_USE_PLATFORM_WAYLAND_KHR endif noinst_LTLIBRARIES += libvulkan_common.la libvulkan_common_la_SOURCES = $(VULKAN_SOURCES) libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES) anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS) $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< header > $@ anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS) $(AM_V_GEN) cat $(vulkan_include_HEADERS) | $(CPP) $(VULKAN_ENTRYPOINT_CPPFLAGS) - | $(PYTHON2) $< code > $@ CLEANFILES = $(BUILT_SOURCES) libvulkan_intel_la_LIBADD = $(WAYLAND_LIBS) \ libvulkan_common.la \ -lxcb -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence \ $(top_builddir)/src/intel/isl/libisl.la \ $(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \ $(top_builddir)/src/mesa/libmesa.la \ $(top_builddir)/src/mesa/drivers/dri/common/libdri_test_stubs.la \ -lpthread -ldl -lstdc++ \ $(PER_GEN_LIBS) \ -lm libvulkan_intel_la_LDFLAGS = \ -shared \ -module \ -no-undefined \ -avoid-version \ $(GC_SECTIONS) \ $(LD_NO_UNDEFINED) icdconfdir = @VULKAN_ICD_INSTALL_DIR@ icdconf_DATA = intel_icd.json # The following is used for development purposes, by setting VK_ICD_FILENAMES. noinst_DATA = dev_icd.json dev_icd.json : dev_icd.json.in $(AM_V_GEN) $(SED) \ -e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" < $(srcdir)/dev_icd.json.in > $@ # Libvulkan with dummy gem. Used for unit tests. libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES) libvulkan_test_la_LIBADD = $(libvulkan_intel_la_LIBADD) include $(top_srcdir)/install-lib-links.mk