Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile.vulkan.am 7.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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. # Due to a what seems like a autoconf bug, we must ensure that the genaration
  22. # rules must be outside of any AM_CONDITIONALs. Otherwise they will be commented
  23. # out and we'll fail at `make dist'
  24. vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
  25. vulkan/anv_entrypoints.c: vulkan/anv_entrypoints_gen.py \
  26. vulkan/anv_extensions.py $(vulkan_api_xml)
  27. $(MKDIR_GEN)
  28. $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_entrypoints_gen.py \
  29. --xml $(vulkan_api_xml) --outdir $(builddir)/vulkan
  30. vulkan/anv_entrypoints.h: vulkan/anv_entrypoints.c
  31. vulkan/anv_extensions.c: vulkan/anv_extensions.py $(vulkan_api_xml)
  32. $(MKDIR_GEN)
  33. $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_extensions.py \
  34. --xml $(vulkan_api_xml) --out $@
  35. BUILT_SOURCES += $(VULKAN_GENERATED_FILES)
  36. CLEANFILES += \
  37. $(VULKAN_GENERATED_FILES) \
  38. vulkan/dev_icd.json \
  39. vulkan/intel_icd.@host_cpu@.json
  40. EXTRA_DIST += \
  41. $(top_srcdir)/include/vulkan/vk_icd.h \
  42. vulkan/anv_entrypoints_gen.py \
  43. vulkan/anv_extensions.py \
  44. vulkan/dev_icd.json.in \
  45. vulkan/intel_icd.json.in \
  46. vulkan/TODO
  47. vulkan/dev_icd.json : vulkan/anv_extensions.py vulkan/anv_icd.py
  48. $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_icd.py \
  49. --lib-path="${abs_top_builddir}/${LIB_DIR}" --out $@
  50. vulkan/intel_icd.@host_cpu@.json : vulkan/anv_extensions.py vulkan/anv_icd.py
  51. $(AM_V_GEN)$(PYTHON2) $(srcdir)/vulkan/anv_icd.py \
  52. --lib-path="${libdir}" --out $@
  53. if HAVE_INTEL_VULKAN
  54. vulkan_includedir = $(includedir)/vulkan
  55. noinst_HEADERS += \
  56. $(top_srcdir)/include/vulkan/vk_platform.h \
  57. $(top_srcdir)/include/vulkan/vulkan.h
  58. vulkan_include_HEADERS = \
  59. $(top_srcdir)/include/vulkan/vulkan_intel.h
  60. lib_LTLIBRARIES += vulkan/libvulkan_intel.la
  61. check_LTLIBRARIES += vulkan/libvulkan-test.la
  62. VULKAN_PER_GEN_LIBS = \
  63. vulkan/libanv-gen7.la \
  64. vulkan/libanv-gen75.la \
  65. vulkan/libanv-gen8.la \
  66. vulkan/libanv-gen9.la \
  67. vulkan/libanv-gen10.la
  68. noinst_LTLIBRARIES += $(VULKAN_PER_GEN_LIBS)
  69. VULKAN_CFLAGS = \
  70. $(AM_CFLAGS) \
  71. -msse2
  72. VULKAN_CPPFLAGS = \
  73. -I$(top_srcdir)/src/compiler \
  74. -I$(top_srcdir)/src/intel/compiler \
  75. -I$(top_srcdir)/include/drm-uapi \
  76. -I$(top_builddir)/src/intel/vulkan \
  77. -I$(top_srcdir)/src/intel/vulkan \
  78. -I$(top_srcdir)/src/vulkan/wsi \
  79. -I$(top_builddir)/src/vulkan/util \
  80. -I$(top_srcdir)/src/vulkan/util \
  81. $(AM_CPPFLAGS) \
  82. $(LIBDRM_CFLAGS)
  83. vulkan_libanv_gen7_la_CFLAGS = $(VULKAN_CFLAGS)
  84. vulkan_libanv_gen7_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=70
  85. vulkan_libanv_gen7_la_SOURCES = $(VULKAN_GEN7_FILES)
  86. vulkan_libanv_gen75_la_CFLAGS = $(VULKAN_CFLAGS)
  87. vulkan_libanv_gen75_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=75
  88. vulkan_libanv_gen75_la_SOURCES = $(VULKAN_GEN75_FILES)
  89. vulkan_libanv_gen8_la_CFLAGS = $(VULKAN_CFLAGS)
  90. vulkan_libanv_gen8_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=80
  91. vulkan_libanv_gen8_la_SOURCES = $(VULKAN_GEN8_FILES)
  92. vulkan_libanv_gen9_la_CFLAGS = $(VULKAN_CFLAGS)
  93. vulkan_libanv_gen9_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=90
  94. vulkan_libanv_gen9_la_SOURCES = $(VULKAN_GEN9_FILES)
  95. vulkan_libanv_gen10_la_CFLAGS = $(VULKAN_CFLAGS)
  96. vulkan_libanv_gen10_la_CPPFLAGS = $(VULKAN_CPPFLAGS) -DGEN_VERSIONx10=100
  97. vulkan_libanv_gen10_la_SOURCES = $(VULKAN_GEN10_FILES)
  98. VULKAN_SOURCES = \
  99. $(VULKAN_GENERATED_FILES) \
  100. $(VULKAN_FILES)
  101. VULKAN_LIB_DEPS = \
  102. vulkan/libvulkan_common.la \
  103. $(VULKAN_PER_GEN_LIBS) \
  104. compiler/libintel_compiler.la \
  105. common/libintel_common.la \
  106. isl/libisl.la \
  107. blorp/libblorp.la \
  108. $(top_builddir)/src/vulkan/libvulkan_util.la \
  109. $(top_builddir)/src/vulkan/libvulkan_wsi.la \
  110. $(top_builddir)/src/compiler/nir/libnir.la \
  111. $(top_builddir)/src/util/libmesautil.la \
  112. $(LIBDRM_LIBS) \
  113. $(PTHREAD_LIBS) \
  114. $(DLOPEN_LIBS) \
  115. -lm
  116. if HAVE_PLATFORM_X11
  117. VULKAN_CPPFLAGS += \
  118. $(XCB_DRI3_CFLAGS) \
  119. -DVK_USE_PLATFORM_XCB_KHR \
  120. -DVK_USE_PLATFORM_XLIB_KHR
  121. VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES)
  122. VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS)
  123. endif
  124. if HAVE_PLATFORM_WAYLAND
  125. VULKAN_CPPFLAGS += \
  126. $(WAYLAND_CFLAGS) \
  127. -DVK_USE_PLATFORM_WAYLAND_KHR
  128. VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
  129. VULKAN_LIB_DEPS += $(WAYLAND_LIBS)
  130. endif
  131. noinst_LTLIBRARIES += vulkan/libvulkan_common.la
  132. vulkan_libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
  133. vulkan_libvulkan_common_la_CFLAGS = $(VULKAN_CFLAGS)
  134. vulkan_libvulkan_common_la_CPPFLAGS = $(VULKAN_CPPFLAGS)
  135. nodist_EXTRA_vulkan_libvulkan_intel_la_SOURCES = dummy.cpp
  136. vulkan_libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
  137. vulkan_libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS)
  138. vulkan_libvulkan_intel_la_CFLAGS = $(VULKAN_CFLAGS)
  139. vulkan_libvulkan_intel_la_CPPFLAGS = $(VULKAN_CPPFLAGS)
  140. vulkan_libvulkan_intel_la_LDFLAGS = \
  141. -shared \
  142. -module \
  143. -no-undefined \
  144. -avoid-version \
  145. -Wl,--build-id=sha1 \
  146. $(BSYMBOLIC) \
  147. $(GC_SECTIONS) \
  148. $(LD_NO_UNDEFINED)
  149. icdconfdir = @VULKAN_ICD_INSTALL_DIR@
  150. icdconf_DATA = vulkan/intel_icd.@host_cpu@.json
  151. # The following is used for development purposes, by setting VK_ICD_FILENAMES.
  152. noinst_DATA += vulkan/dev_icd.json
  153. # Libvulkan with dummy gem. Used for unit tests.
  154. vulkan_libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES)
  155. vulkan_libvulkan_test_la_LIBADD = $(VULKAN_LIB_DEPS)
  156. vulkan_libvulkan_test_la_CFLAGS = $(VULKAN_CFLAGS)
  157. vulkan_libvulkan_test_la_CPPFLAGS = $(VULKAN_CPPFLAGS)
  158. include $(top_srcdir)/install-lib-links.mk
  159. noinst_HEADERS += \
  160. vulkan/tests/state_pool_test_helper.h
  161. VULKAN_TESTS = \
  162. vulkan/tests/block_pool_no_free \
  163. vulkan/tests/state_pool_no_free \
  164. vulkan/tests/state_pool_free_list_only \
  165. vulkan/tests/state_pool
  166. VULKAN_TEST_LDADD = \
  167. vulkan/libvulkan-test.la \
  168. $(PTHREAD_LIBS) -lm -lstdc++
  169. check_PROGRAMS += $(VULKAN_TESTS)
  170. TESTS += $(VULKAN_TESTS)
  171. vulkan_tests_block_pool_no_free_CPPFLAGS = $(VULKAN_CPPFLAGS)
  172. vulkan_tests_block_pool_no_free_LDADD = $(VULKAN_TEST_LDADD)
  173. vulkan_tests_state_pool_no_free_CPPFLAGS = $(VULKAN_CPPFLAGS)
  174. vulkan_tests_state_pool_no_free_LDADD = $(VULKAN_TEST_LDADD)
  175. vulkan_tests_state_pool_free_list_only_CPPFLAGS = $(VULKAN_CPPFLAGS)
  176. vulkan_tests_state_pool_free_list_only_LDADD = $(VULKAN_TEST_LDADD)
  177. vulkan_tests_state_pool_CPPFLAGS = $(VULKAN_CPPFLAGS)
  178. vulkan_tests_state_pool_LDADD = $(VULKAN_TEST_LDADD)
  179. endif