1ACLOCAL_AMFLAGS = -I m4 2AM_CFLAGS = @VKD3D_CFLAGS@ 3AM_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/include/private -I$(builddir)/include/private 4AM_LDFLAGS = -no-undefined 5 6widl_headers = \ 7 include/vkd3d_d3d12.h \ 8 include/vkd3d_d3d12sdklayers.h \ 9 include/vkd3d_d3dcommon.h \ 10 include/vkd3d_dxgi.h \ 11 include/vkd3d_dxgi1_2.h \ 12 include/vkd3d_dxgi1_3.h \ 13 include/vkd3d_dxgi1_4.h \ 14 include/vkd3d_dxgibase.h \ 15 include/vkd3d_dxgiformat.h \ 16 include/vkd3d_dxgitype.h 17 18vkd3d_public_headers = \ 19 include/vkd3d.h \ 20 include/vkd3d_d3d12.h \ 21 include/vkd3d_d3d12sdklayers.h \ 22 include/vkd3d_d3dcommon.h \ 23 include/vkd3d_dxgibase.h \ 24 include/vkd3d_dxgiformat.h \ 25 include/vkd3d_shader.h \ 26 include/vkd3d_types.h \ 27 include/vkd3d_utils.h \ 28 include/vkd3d_windows.h 29 30vkd3d_demos_shaders = \ 31 demos/gears.hlsl \ 32 demos/gears_ps_flat.h \ 33 demos/gears_ps_smooth.h \ 34 demos/gears_vs.h \ 35 demos/triangle.hlsl \ 36 demos/triangle_ps.h \ 37 demos/triangle_vs.h 38 39vkd3d_tests = \ 40 tests/vkd3d_api \ 41 tests/vkd3d_common \ 42 tests/vkd3d_shader_api 43 44vkd3d_cross_tests = \ 45 tests/d3d12 \ 46 tests/d3d12_invalid_usage 47 48vkd3d_test_headers = \ 49 tests/d3d12_crosstest.h \ 50 tests/d3d12_test_utils.h 51 52vkd3d_demos = \ 53 demos/gears \ 54 demos/triangle 55 56vkd3d_demos_headers = \ 57 demos/demo.h \ 58 demos/demo_win32.h \ 59 demos/demo_xcb.h 60 61BUILT_SOURCES = $(widl_headers) \ 62 include/private/vkd3d_version.h 63 64noinst_LTLIBRARIES = libvkd3d-common.la 65libvkd3d_common_la_SOURCES = \ 66 include/private/vkd3d_debug.h \ 67 libs/vkd3d-common/debug.c \ 68 libs/vkd3d-common/memory.c \ 69 libs/vkd3d-common/utf8.c 70 71lib_LTLIBRARIES = libvkd3d-shader.la libvkd3d.la libvkd3d-utils.la 72 73libvkd3d_shader_la_SOURCES = \ 74 include/private/list.h \ 75 include/private/rbtree.h \ 76 include/private/vkd3d_common.h \ 77 include/private/vkd3d_debug.h \ 78 include/private/vkd3d_memory.h \ 79 include/vkd3d_shader.h \ 80 libs/vkd3d-shader/checksum.c \ 81 libs/vkd3d-shader/dxbc.c \ 82 libs/vkd3d-shader/spirv.c \ 83 libs/vkd3d-shader/trace.c \ 84 libs/vkd3d-shader/vkd3d_shader.map \ 85 libs/vkd3d-shader/vkd3d_shader_main.c \ 86 libs/vkd3d-shader/vkd3d_shader_private.h 87libvkd3d_shader_la_CFLAGS = $(AM_CFLAGS) @SPIRV_TOOLS_CFLAGS@ 88libvkd3d_shader_la_LDFLAGS = $(AM_LDFLAGS) -version-info 1:0:0 89libvkd3d_shader_la_LIBADD = libvkd3d-common.la @SPIRV_TOOLS_LIBS@ 90if HAVE_LD_VERSION_SCRIPT 91libvkd3d_shader_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-shader/vkd3d_shader.map 92EXTRA_libvkd3d_shader_la_DEPENDENCIES = $(srcdir)/libs/vkd3d-shader/vkd3d_shader.map 93endif 94 95libvkd3d_la_SOURCES = \ 96 include/private/vkd3d_common.h \ 97 include/private/vkd3d_debug.h \ 98 include/private/vkd3d_memory.h \ 99 include/private/vkd3d_utf8.h \ 100 include/private/vkd3d_test.h \ 101 include/vkd3d_d3d12.idl \ 102 include/vkd3d_d3dcommon.idl \ 103 include/vkd3d_unknown.idl \ 104 libs/vkd3d/command.c \ 105 libs/vkd3d/device.c \ 106 libs/vkd3d/resource.c \ 107 libs/vkd3d/state.c \ 108 libs/vkd3d/utils.c \ 109 libs/vkd3d/vkd3d.map \ 110 libs/vkd3d/vkd3d_main.c \ 111 libs/vkd3d/vkd3d_private.h \ 112 libs/vkd3d/vkd3d_shaders.h \ 113 libs/vkd3d/vulkan_procs.h 114libvkd3d_la_LDFLAGS = $(AM_LDFLAGS) -version-info 3:0:2 115libvkd3d_la_LIBADD = libvkd3d-common.la libvkd3d-shader.la @DL_LIBS@ @PTHREAD_LIBS@ 116if HAVE_LD_VERSION_SCRIPT 117libvkd3d_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d/vkd3d.map 118EXTRA_libvkd3d_la_DEPENDENCIES = $(srcdir)/libs/vkd3d/vkd3d.map 119endif 120 121libvkd3d_utils_la_SOURCES = \ 122 libs/vkd3d-utils/vkd3d_utils.map \ 123 libs/vkd3d-utils/vkd3d_utils_main.c \ 124 libs/vkd3d-utils/vkd3d_utils_private.h 125libvkd3d_utils_la_LDFLAGS = $(AM_LDFLAGS) -version-info 2:0:1 126libvkd3d_utils_la_LIBADD = libvkd3d-common.la libvkd3d.la @PTHREAD_LIBS@ 127if HAVE_LD_VERSION_SCRIPT 128libvkd3d_utils_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libs/vkd3d-utils/vkd3d_utils.map 129EXTRA_libvkd3d_utils_la_DEPENDENCIES = $(srcdir)/libs/vkd3d-utils/vkd3d_utils.map 130endif 131 132EXTRA_DIST = ANNOUNCE LICENSE 133 134pkgconfigdir = $(libdir)/pkgconfig 135pkginclude_HEADERS = $(vkd3d_public_headers) 136nodist_pkgconfig_DATA = libvkd3d.pc libvkd3d-shader.pc libvkd3d-utils.pc 137CLEANFILES = libvkd3d.pc libvkd3d-shader.pc libvkd3d-utils.pc 138EXTRA_DIST += \ 139 libs/vkd3d/libvkd3d.pc.in \ 140 libs/vkd3d-shader/libvkd3d-shader.pc.in \ 141 libs/vkd3d-utils/libvkd3d-utils.pc.in 142 143bin_PROGRAMS = vkd3d-compiler 144vkd3d_compiler_SOURCES = programs/vkd3d-compiler/main.c 145vkd3d_compiler_LDADD = libvkd3d-shader.la 146 147LDADD = libvkd3d.la libvkd3d-utils.la 148AM_DEFAULT_SOURCE_EXT = .c 149if BUILD_TESTS 150check_PROGRAMS = $(vkd3d_tests) $(vkd3d_cross_tests) 151TESTS = $(vkd3d_tests) $(vkd3d_cross_tests) 152tests_d3d12_LDADD = $(LDADD) @PTHREAD_LIBS@ @VULKAN_LIBS@ 153tests_d3d12_invalid_usage_LDADD = $(LDADD) @VULKAN_LIBS@ 154tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@ 155tests_vkd3d_shader_api_LDADD = libvkd3d-shader.la 156endif 157 158if BUILD_DEMOS 159DEMOS_LDADD = $(LDADD) libvkd3d-shader.la @XCB_LIBS@ @VULKAN_LIBS@ 160DEMOS_CFLAGS = $(AM_CFLAGS) @XCB_CFLAGS@ 161noinst_PROGRAMS = $(vkd3d_demos) 162 163demos_gears_CFLAGS = $(DEMOS_CFLAGS) 164demos_gears_LDADD = $(DEMOS_LDADD) -lm 165 166demos_triangle_CFLAGS = $(DEMOS_CFLAGS) 167demos_triangle_LDADD = $(DEMOS_LDADD) 168endif 169 170EXTRA_DIST += $(vkd3d_test_headers) $(vkd3d_demos_headers) 171 172VKD3D_V_WIDL = $(vkd3d_v_widl_@AM_V@) 173vkd3d_v_widl_ = $(vkd3d_v_widl_@AM_DEFAULT_V@) 174vkd3d_v_widl_0 = @echo " WIDL " $@; 175vkd3d_v_widl_1 = 176 177if HAVE_WIDL 178CLEANFILES += $(widl_headers) 179endif 180EXTRA_DIST += $(widl_headers) $(widl_headers:.h=.idl) 181$(widl_headers): %.h: %.idl 182if HAVE_WIDL 183 $(VKD3D_V_WIDL)$(WIDL) -h -o $@ $< 184else 185 @echo "widl is required to generate $@" 186endif 187 188EXTRA_DIST += $(vkd3d_demos_shaders) 189 190libvkd3d-utils.pc: $(srcdir)/libs/vkd3d-utils/libvkd3d-utils.pc.in Makefile 191 $(AM_V_GEN)$(SED) -e 's![@]prefix[@]!$(prefix)!g' \ 192 -e 's![@]exec_prefix[@]!$(exec_prefix)!g' \ 193 -e 's![@]includedir[@]!$(includedir)!g' \ 194 -e 's![@]libdir[@]!$(libdir)!g' \ 195 -e 's![@]PACKAGE_VERSION[@]!$(PACKAGE_VERSION)!g' \ 196 $< > $@ 197 198libvkd3d-shader.pc: $(srcdir)/libs/vkd3d-shader/libvkd3d-shader.pc.in Makefile 199 $(AM_V_GEN)$(SED) -e 's![@]prefix[@]!$(prefix)!g' \ 200 -e 's![@]exec_prefix[@]!$(exec_prefix)!g' \ 201 -e 's![@]includedir[@]!$(includedir)!g' \ 202 -e 's![@]libdir[@]!$(libdir)!g' \ 203 -e 's![@]PACKAGE_VERSION[@]!$(PACKAGE_VERSION)!g' \ 204 $< > $@ 205 206libvkd3d.pc: $(srcdir)/libs/vkd3d/libvkd3d.pc.in Makefile 207 $(AM_V_GEN)$(SED) -e 's![@]prefix[@]!$(prefix)!g' \ 208 -e 's![@]exec_prefix[@]!$(exec_prefix)!g' \ 209 -e 's![@]includedir[@]!$(includedir)!g' \ 210 -e 's![@]libdir[@]!$(libdir)!g' \ 211 -e 's![@]PACKAGE_VERSION[@]!$(PACKAGE_VERSION)!g' \ 212 $< > $@ 213 214include/private/vkd3d_version.h: dummy-vkd3d-version 215 @$(MKDIR_P) include/private 216 version=`(GIT_DIR=$(top_srcdir)/.git git rev-parse --short HEAD 2>/dev/null || echo '') \ 217 | $(SED) -e 's!\(..*\)! (git \1)!' \ 218 | $(SED) -n -e '$$s!\(.*\)!#define VKD3D_VCS_ID "\1"!p'` \ 219 && (echo $$version | cmp -s - $@) \ 220 || echo $$version >$@ || ($(RM) $@ && exit 1) 221.SILENT: include/private/vkd3d_version.h 222CLEANFILES += include/private/vkd3d_version.h 223 224.PHONY: dummy-vkd3d-version 225dummy-vkd3d-version: 226 227## Cross-compile tests 228cross_implibs = crosslibs/d3d12 229CROSS_CPPFLAGS = -I$(srcdir)/include -I$(srcdir)/include/private -I$(builddir)/include 230CROSS_CFLAGS = -g -O2 -Wall -municode ${CROSS_CPPFLAGS} 231EXTRA_DIST += $(cross_implibs:=.cross32.def) $(cross_implibs:=.cross64.def) 232 233if HAVE_CROSSTARGET32 234CROSS32_CC = @CROSSCC32@ 235CROSS32_DLLTOOL = @CROSSTARGET32@-dlltool 236CROSS32_IMPLIBS = $(cross_implibs:=.cross32.a) 237CROSS32_EXEFILES = $(vkd3d_cross_tests:=.cross32.exe) $(vkd3d_demos:=.cross32.exe) 238CROSS32_FILES = $(CROSS32_IMPLIBS) $(CROSS32_EXEFILES) 239 240CLEANFILES += $(CROSS32_FILES) 241crosstest32: $(CROSS32_FILES) 242 243-include tests/$(DEPDIR)/*.cross32.Po 244-include demos/$(DEPDIR)/*.cross32.Po 245 246$(CROSS32_IMPLIBS): %.cross32.a: %.cross32.def 247 @${MKDIR_P} crosslibs 248 $(AM_V_GEN)$(CROSS32_DLLTOOL) -k -m i386 --as-flags=-32 -d $< -l $@ 249 250$(CROSS32_EXEFILES): %.cross32.exe: %.c $(CROSS32_IMPLIBS) $(widl_headers) 251 $(AM_V_CCLD)depbase=`echo $@ | $(SED) 's![^/]*$$!$(DEPDIR)/&!;s!\.exe$$!!'`; \ 252 $(CROSS32_CC) $(CROSS_CFLAGS) -MT $@ -MD -MP -MF $$depbase.Tpo -o $@ $< $(CROSS32_IMPLIBS) -ldxgi -lgdi32 && \ 253 $(am__mv) $$depbase.Tpo $$depbase.Po 254else 255crosstest32: 256endif 257 258if HAVE_CROSSTARGET64 259CROSS64_CC = @CROSSCC64@ 260CROSS64_DLLTOOL = @CROSSTARGET64@-dlltool 261CROSS64_IMPLIBS = $(cross_implibs:=.cross64.a) 262CROSS64_EXEFILES = $(vkd3d_cross_tests:=.cross64.exe) $(vkd3d_demos:=.cross64.exe) 263CROSS64_FILES = $(CROSS64_IMPLIBS) $(CROSS64_EXEFILES) 264 265CLEANFILES += $(CROSS64_FILES) 266crosstest64: $(CROSS64_FILES) 267 268-include tests/$(DEPDIR)/*.cross64.Po 269-include demos/$(DEPDIR)/*.cross64.Po 270 271$(CROSS64_IMPLIBS): %.cross64.a: %.cross64.def 272 @${MKDIR_P} crosslibs 273 $(AM_V_GEN)$(CROSS64_DLLTOOL) -k -m i386:x86-64 --as-flags=-64 -d $< -l $@ 274 275$(CROSS64_EXEFILES): %.cross64.exe: %.c $(CROSS64_IMPLIBS) $(widl_headers) 276 $(AM_V_CCLD)depbase=`echo $@ | sed 's![^/]*$$!$(DEPDIR)/&!;s!\.exe$$!!'`; \ 277 $(CROSS64_CC) $(CROSS_CFLAGS) -MT $@ -MD -MP -MF $$depbase.Tpo -o $@ $< $(CROSS64_IMPLIBS) -ldxgi -lgdi32 && \ 278 $(am__mv) $$depbase.Tpo $$depbase.Po 279else 280crosstest64: 281endif 282 283.PHONY: crosstest crosstest32 crosstest64 284crosstest: crosstest32 crosstest64 285 286if BUILD_DOC 287@DX_RULES@ 288all: doxygen-doc 289CLEANFILES += $(DX_CLEANFILES) 290endif 291