# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
+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 \
+ $(top_srcdir)/include/vulkan/vk_wsi_swapchain.h \
+ $(top_srcdir)/include/vulkan/vk_wsi_device_swapchain.h
+
lib_LTLIBRARIES = libvulkan.la
+check_LTLIBRARIES = libvulkan-test.la
+
# The gallium includes are for the util/u_math.h include from main/macros.h
AM_CPPFLAGS = \
$(DEFINES) \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/egl/wayland/wayland-drm \
-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/gallium/include \
+ -I$(top_builddir)/src/vulkan
libvulkan_la_CFLAGS = \
-Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -O0 -g \
libvulkan_la_CXXFLAGS = \
-Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -O0 -g
-libvulkan_la_SOURCES = \
- private.h \
- gem.c \
- device.c \
- aub.c \
- allocator.c \
- util.c \
- pipeline.c \
- image.c \
- meta.c \
- intel.c \
- compiler.cpp
+VULKAN_SOURCES = \
+ anv_allocator.c \
+ anv_cmd_buffer.c \
+ anv_batch_chain.c \
+ anv_compiler.cpp \
+ anv_device.c \
+ anv_entrypoints.c \
+ anv_entrypoints.h \
+ anv_formats.c \
+ anv_image.c \
+ anv_intel.c \
+ anv_meta.c \
+ anv_pipeline.c \
+ anv_private.h \
+ anv_query.c \
+ anv_util.c \
+ anv_wsi.c \
+ anv_wsi_wayland.c \
+ anv_wsi_x11.c \
+ gen8_state.c \
+ gen8_cmd_buffer.c \
+ gen8_pipeline.c \
+ gen7_state.c \
+ gen7_cmd_buffer.c \
+ gen7_pipeline.c
+
+libvulkan_la_SOURCES = \
+ $(VULKAN_SOURCES) \
+ anv_gem.c
+
+BUILT_SOURCES = \
+ anv_entrypoints.h \
+ anv_entrypoints.c \
+ anv_meta_spirv_autogen.h
-bin_PROGRAMS = vk
+anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
+ $(AM_V_GEN)cat $(vulkan_include_HEADERS) | $(PYTHON2) $< header > $@
-vk_SOURCES = vk.c
-vk_LDADD = libvulkan.la -lpng16
+anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_include_HEADERS)
+ $(AM_V_GEN)cat $(vulkan_include_HEADERS) | $(PYTHON2) $< code > $@
+
+%_spirv_autogen.h: %.c glsl_scraper.py
+ $(AM_V_GEN) $(PYTHON3) $(srcdir)/glsl_scraper.py --with-glslc=$(GLSLC) -o $@ $<
+
+CLEANFILES = $(BUILT_SOURCES)
libvulkan_la_LIBADD = -lxcb -lxcb-dri3 \
$(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la
+# Libvulkan with dummy gem. Used for unit tests.
+
+libvulkan_test_la_SOURCES = \
+ $(VULKAN_SOURCES) \
+ anv_gem_stubs.c
+
+libvulkan_test_la_CFLAGS = $(libvulkan_la_CFLAGS)
+libvulkan_test_la_CXXFLAGS = $(libvulkan_la_CXXFLAGS)
+libvulkan_test_la_LIBADD = $(libvulkan_la_LIBADD)
+
include $(top_srcdir)/install-lib-links.mk