vulkan/util: generate instance/device dispatch tables
[mesa.git] / src / vulkan / Makefile.am
1 include Makefile.sources
2
3 noinst_LTLIBRARIES = libvulkan_wsi.la libvulkan_util.la
4
5 vulkan_includedir = $(includedir)/vulkan
6 vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
7
8 MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
9 PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS)
10
11 EXTRA_DIST = \
12 overlay-layer/README \
13 overlay-layer/meson.build \
14 overlay-layer/overlay.cpp \
15 overlay-layer/overlay_params.c \
16 overlay-layer/overlay_params.h \
17 overlay-layer/overlay.frag \
18 overlay-layer/overlay.vert \
19 overlay-layer/VkLayer_MESA_overlay.json.in \
20 overlay-layer/vk_layer_table.cpp \
21 overlay-layer/vk_layer_table.h \
22 util/gen_enum_to_str.py \
23 util/meson.build \
24 wsi/meson.build \
25 meson.build
26
27 AM_CPPFLAGS = \
28 $(DEFINES) \
29 -I$(top_srcdir)/include \
30 -I$(top_srcdir)/src \
31 -I$(top_srcdir)/src/vulkan/util \
32 -I$(top_srcdir)/src/gallium/auxiliary \
33 -I$(top_srcdir)/src/gallium/include
34
35 AM_CFLAGS = \
36 $(LIBDRM_CFLAGS) \
37 $(VISIBILITY_CFLAGS)
38
39 VULKAN_WSI_GENERATED_SOURCES =
40
41 VULKAN_WSI_SOURCES = \
42 $(VULKAN_WSI_FILES)
43
44 if HAVE_PLATFORM_X11
45 AM_CPPFLAGS += \
46 $(XCB_DRI3_CFLAGS) \
47 -DVK_USE_PLATFORM_XCB_KHR \
48 -DVK_USE_PLATFORM_XLIB_KHR
49
50 VULKAN_WSI_SOURCES += $(VULKAN_WSI_X11_FILES)
51 endif
52
53 if HAVE_PLATFORM_DRM
54 AM_CPPFLAGS += \
55 -DVK_USE_PLATFORM_DISPLAY_KHR
56
57 VULKAN_WSI_SOURCES += $(VULKAN_WSI_DISPLAY_FILES)
58 endif
59
60 if HAVE_XLIB_LEASE
61 AM_CPPFLAGS += \
62 $(XCB_RANDR_CFLAGS) \
63 $(XLIB_RANDR_CFLAGS) \
64 -DVK_USE_PLATFORM_XLIB_XRANDR_EXT
65 endif
66
67 CLEANFILES = \
68 $(VULKAN_UTIL_GENERATED_FILES) \
69 $(VULKAN_WSI_WAYLAND_GENERATED_FILES)
70
71 WL_DRM_XML = $(top_srcdir)/src/egl/wayland/wayland-drm/wayland-drm.xml
72
73 wsi/wayland-drm-protocol.c : $(WL_DRM_XML)
74 $(MKDIR_GEN)
75 $(AM_V_GEN)$(WAYLAND_SCANNER) $(SCANNER_ARG) $< $@
76
77 wsi/wayland-drm-client-protocol.h : $(WL_DRM_XML)
78 $(MKDIR_GEN)
79 $(AM_V_GEN)$(WAYLAND_SCANNER) client-header $< $@
80
81 WL_DMABUF_XML = $(WAYLAND_PROTOCOLS_DATADIR)/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
82
83 wsi/linux-dmabuf-unstable-v1-protocol.c : $(WL_DMABUF_XML)
84 $(MKDIR_GEN)
85 $(AM_V_GEN)$(WAYLAND_SCANNER) $(SCANNER_ARG) $< $@
86
87 wsi/linux-dmabuf-unstable-v1-client-protocol.h : $(WL_DMABUF_XML)
88 $(MKDIR_GEN)
89 $(AM_V_GEN)$(WAYLAND_SCANNER) client-header $< $@
90
91 if HAVE_PLATFORM_WAYLAND
92 wsi/linux-dmabuf-unstable-v1-protocol.lo: wsi/linux-dmabuf-unstable-v1-client-protocol.h
93 wsi/wayland-drm-protocol.lo: wsi/wayland-drm-client-protocol.h
94 wsi/wsi_common_wayland.lo: wsi/linux-dmabuf-unstable-v1-client-protocol.h wsi/wayland-drm-client-protocol.h
95
96 AM_CPPFLAGS += \
97 -I$(top_builddir)/src/vulkan/wsi \
98 $(WAYLAND_CLIENT_CFLAGS) \
99 -DVK_USE_PLATFORM_WAYLAND_KHR
100
101 VULKAN_WSI_SOURCES += \
102 $(VULKAN_WSI_WAYLAND_FILES)
103
104 VULKAN_WSI_GENERATED_SOURCES += \
105 $(VULKAN_WSI_WAYLAND_GENERATED_FILES)
106
107 endif
108
109 VULKAN_UTIL_SOURCES = \
110 $(VULKAN_UTIL_FILES) \
111 $(VULKAN_UTIL_GENERATED_FILES)
112
113 util/vk_enum_to_str.c util/vk_enum_to_str.h: util/gen_enum_to_str.py \
114 $(vulkan_api_xml)
115 $(MKDIR_GEN)
116 $(PYTHON_GEN) $(srcdir)/util/gen_enum_to_str.py \
117 --xml $(vulkan_api_xml) \
118 --outdir $(top_builddir)/src/vulkan/util
119
120 libvulkan_util_la_SOURCES = $(VULKAN_UTIL_SOURCES)
121
122 nodist_libvulkan_wsi_la_SOURCES = $(VULKAN_WSI_GENERATED_SOURCES)
123
124 libvulkan_wsi_la_SOURCES = $(VULKAN_WSI_SOURCES)