summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/spirv-cross/samples/cpp/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/spirv-cross/samples/cpp/Makefile')
-rw-r--r--3rdparty/bgfx/3rdparty/spirv-cross/samples/cpp/Makefile28
1 files changed, 28 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/spirv-cross/samples/cpp/Makefile b/3rdparty/bgfx/3rdparty/spirv-cross/samples/cpp/Makefile
new file mode 100644
index 00000000000..225bb3d57d1
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/spirv-cross/samples/cpp/Makefile
@@ -0,0 +1,28 @@
+SOURCES := $(wildcard *.comp)
+SPIRV := $(SOURCES:.comp=.spv)
+CPP_INTERFACE := $(SOURCES:.comp=.spv.cpp)
+CPP_DRIVER := $(SOURCES:.comp=.cpp)
+EXECUTABLES := $(SOURCES:.comp=.shader)
+OBJECTS := $(CPP_DRIVER:.cpp=.o) $(CPP_INTERFACE:.cpp=.o)
+
+CXXFLAGS += -std=c++11 -I../../include -I.
+LDFLAGS += -pthread -lm
+
+all: $(EXECUTABLES)
+
+%.spv: %.comp
+ glslangValidator -V -o $@ $<
+
+%.spv.cpp: %.spv
+ ../../spirv-cross --cpp --output $@ $<
+
+%.o: %.cpp
+ $(CXX) -c -o $@ $< $(CXXFLAGS)
+
+%.shader: %.o %.spv.o
+ $(CXX) -o $@ $^ $(LDFLAGS)
+
+clean:
+ $(RM) -f $(EXECUTABLES) $(SPIRV) $(CPP_INTERFACE) $(OBJECTS)
+
+.PHONY: clean