1
- VULKAN_DIR =modules/vulkan-docs/src
2
1
CTS_DIR =../VK-GL-CTS
3
2
CHERRY_DIR =../cherry
4
3
BINDING =target/vulkan.rs
5
4
NATIVE_DIR =target/native
6
5
NATIVE_TARGET =$(NATIVE_DIR ) /test
7
6
NATIVE_OBJECTS =$(NATIVE_DIR ) /test.o $(NATIVE_DIR ) /window.o
8
- LIB_EXTENSION =
7
+ LIB_FILE_NAME =
8
+ LIB_VULKAN_NAME =
9
9
TEST_LIST =$(CURDIR ) /conformance/deqp.txt
10
10
TEST_LIST_SOURCE =$(CTS_DIR ) /external/vulkancts/mustpass/1.0.2/vk-default.txt
11
11
DEQP_DIR =$(CTS_DIR ) /build/external/vulkancts/modules/vulkan/
12
12
DEQP =cd $(DEQP_DIR ) && RUST_LOG=debug LD_LIBRARY_PATH=$(FULL_LIBRARY_PATH ) ./deqp-vk
13
13
CLINK_ARGS =
14
- GIT_TAG =$(shell git describe --abbrev=0 --tags)
15
14
GIT_TAG_FULL =$(shell git describe --tags)
16
15
OS_NAME =
16
+ ZIP_COMMAND =
17
17
18
18
DOTA_DIR =../dota2/bin/osx64
19
19
DOTA_EXE =$(DOTA_DIR ) /dota2.app/Contents/MacOS/dota2
@@ -29,38 +29,43 @@ DEBUGGER=rust-gdb --args
29
29
GFX_METAL_RECORDING: =immediate
30
30
31
31
CC =g++
32
- CFLAGS=-std =c++11 -ggdb -O0 -I $( VULKAN_DIR )
32
+ CFLAGS=-std =c++11 -ggdb -O0 -Iheaders
33
33
DEPS =
34
34
LDFLAGS =
35
35
36
36
ifeq ($(OS ) ,Windows_NT)
37
37
LDFLAGS=
38
38
BACKEND=dx12
39
- LIB_EXTENSION=dll
39
+ LIB_FILE_NAME=portability.dll
40
+ LIB_VULKAN_NAME=vulkan.dll
40
41
OS_NAME=windows
42
+ ZIP_COMMAND=7z a -tzip
41
43
else
42
44
UNAME_S:=$(shell uname -s)
45
+ ZIP_COMMAND=zip
43
46
ifeq ($(UNAME_S),Linux)
44
47
LDFLAGS=-lpthread -ldl -lm -lX11 -lxcb
45
48
BACKEND=vulkan
46
- LIB_EXTENSION=so
49
+ LIB_FILE_NAME=libportability.so
50
+ LIB_VULKAN_NAME=libvulkan.so
47
51
OS_NAME=linux
48
52
endif
49
53
ifeq ($(UNAME_S),Darwin)
50
54
LDFLAGS=-lpthread -ldl -lm
51
55
BACKEND=metal
52
56
DEBUGGER=rust-lldb --
53
- LIB_EXTENSION=dylib
57
+ LIB_FILE_NAME=libportability.dylib
58
+ LIB_VULKAN_NAME=libvulkan.dylib
54
59
CLINK_ARGS=-- -Clink-arg="-current_version 1.0.0" -Clink-arg="-compatibility_version 1.0.0"
55
60
OS_NAME=macos
56
61
endif
57
62
endif
58
63
59
64
FULL_LIBRARY_PATH =$(CURDIR ) /target/debug
60
- LIBRARY =target/debug/libportability. $( LIB_EXTENSION )
61
- LIBRARY_FAST =target/release/libportability. $( LIB_EXTENSION )
65
+ LIBRARY =target/debug/$( LIB_FILE_NAME )
66
+ LIBRARY_FAST =target/release/$( LIB_FILE_NAME )
62
67
63
- .PHONY : all dummy rebuild debug release version-debug version-release binding run-native cts clean cherry dota-debug dota-release dota-orig dota-bench-gfx dota-bench-orig dota-bench-gl package memcpy-report
68
+ .PHONY : all dummy check-target rebuild debug release version-debug version-release binding run-native cts clean cherry dota-debug dota-release dota-orig dota-bench-gfx dota-bench-orig dota-bench-gl memcpy-report
64
69
65
70
all : $(NATIVE_TARGET )
66
71
@@ -80,6 +85,9 @@ version-debug:
80
85
version-release :
81
86
cargo rustc --release --manifest-path libportability/Cargo.toml --features $(BACKEND ) $(CLINK_ARGS )
82
87
88
+ check-target :
89
+ cargo check --manifest-path libportability/Cargo.toml --target $(TARGET ) --features $(BACKEND )
90
+ cargo check --manifest-path libportability-icd/Cargo.toml --target $(TARGET ) --features $(BACKEND ) ,portability-gfx/env_logger
83
91
84
92
dota-debug : version-debug $(DOTA_EXE )
85
93
DYLD_LIBRARY_PATH=$(CURDIR ) /target/debug:$(CURDIR ) /$(DOTA_DIR ) $(DOTA_EXE ) $(DOTA_PARAMS )
@@ -116,8 +124,8 @@ endif
116
124
117
125
binding : $(BINDING )
118
126
119
- $(BINDING ) : $( VULKAN_DIR ) /vulkan/* .h
120
- bindgen --no-layout-tests --rustfmt-bindings $( VULKAN_DIR ) /vulkan/vulkan.h -o $(BINDING )
127
+ $(BINDING ) : headers /vulkan/* .h
128
+ bindgen --no-layout-tests --rustfmt-bindings headers /vulkan/vulkan.h -o $(BINDING )
121
129
122
130
$(LIBRARY ) : dummy
123
131
cargo build --manifest-path libportability/Cargo.toml --features $(BACKEND )
@@ -163,16 +171,16 @@ clean:
163
171
rm -f $(NATIVE_OBJECTS ) $(NATIVE_TARGET ) $(BINDING )
164
172
cargo clean
165
173
166
- package : version-debug version-release
174
+ gfx-portability.zip : version-debug version-release
167
175
cargo build --manifest-path libportability-icd/Cargo.toml --features $(BACKEND )
168
176
cargo build --manifest-path libportability-icd/Cargo.toml --features $(BACKEND ) --release
169
177
echo " $( GIT_TAG_FULL) " > commit-sha
170
- zip gfx-portability- $( OS_NAME ) - $( GIT_TAG ) .zip target/* /libportability * . $( LIB_EXTENSION ) libportability-icd/portability-$(OS_NAME ) -* .json commit-sha
178
+ $( ZIP_COMMAND ) gfx-portability .zip target/* /$( LIB_FILE_NAME ) libportability-icd/portability-$(OS_NAME ) -* .json commit-sha
171
179
172
- target/debug/libvulkan. $( LIB_EXTENSION ) :
173
- cd target/debug && ln -sf libportability. $( LIB_EXTENSION ) libvulkan. $( LIB_EXTENSION )
180
+ target/debug/$( LIB_VULKAN_NAME ) :
181
+ cd target/debug && ln -sf $( LIB_FILE_NAME ) $( LIB_VULKAN_NAME )
174
182
175
- cherry : $(LIBRARY ) target/debug/libvulkan. $( LIB_EXTENSION )
183
+ cherry : $(LIBRARY ) $( LIB_VULKAN_NAME )
176
184
cd $(CHERRY_DIR ) && rm -f Cherry.db && RUST_LOG=warn LD_LIBRARY_PATH=$(FULL_LIBRARY_PATH ) go run server.go
177
185
178
186
memcpy-report :
0 commit comments