-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
43 lines (30 loc) · 1.33 KB
/
Makefile
File metadata and controls
43 lines (30 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
VULKAN_SDK_PATH = ../vulkansdk/1.2.189.0/x86_64
SHADERS_PATH = shaders
VERT = shader.vert
FRAG = shader.frag
CLFAGS = -std=c++17 -I$(VULKAN_SDK_PATH)/include
LFAGS = -std=c++17 -B$(VULKAN_SDK_PATH)/include
LDFLAGS = -L$(VULKAN_SDK_PATH)/lib `pkg-config --static --libs glfw3` -lvulkan
VulkanTest: main.cpp
g++ $(CLFAGS) -ggdb -o VulkanTest main.cpp $(LDFLAGS)
VulkanTest-release: main.cpp
g++ $(CLFAGS) -O3 -o VulkanTest-release main.cpp $(LDFLAGS)
$(SHADERS_PATH)/$(VERT).spv: $(SHADERS_PATH)/$(VERT)
$(VULKAN_SDK_PATH)/bin/glslc $(SHADERS_PATH)/$(VERT) -o $(SHADERS_PATH)/$(VERT).spv
$(SHADERS_PATH)/$(FRAG).spv: $(SHADERS_PATH)/$(FRAG)
$(VULKAN_SDK_PATH)/bin/glslc $(SHADERS_PATH)/$(FRAG) -o $(SHADERS_PATH)/$(FRAG).spv
clang: main.cpp
x86_64-w64-mingw32-g++-win32 $(LFAGS) -ggdb -o VulkanTest main.cpp $(LDFLAGS)
.PHONY: clean test build-all test-release
test: VulkanTest $(SHADERS_PATH)/$(VERT).spv $(SHADERS_PATH)/$(FRAG).spv
LD_LIBRARY_PATH=$(VULKAN_SDK_PATH)/lib
VK_LAYER_PATH=$(VULKAN_SDK_PATH)/etc/vulkan/explicit_layer.d
./VulkanTest
test-release: VulkanTest-release $(SHADERS_PATH)/$(VERT).spv $(SHADERS_PATH)/$(FRAG).spv
LD_LIBRARY_PATH=$(VULKAN_SDK_PATH)/lib
VK_LAYER_PATH=$(VULKAN_SDK_PATH)/etc/vulkan/explicit_layer.d
./VulkanTest-release
clean:
rm -f VulkanTest
rm -f VulkanTest-release
rm -f shaders/*.spv