@@ -471,8 +471,13 @@ endif
471471
472472ifdef NO_VULKAN_EXTENSIONS
473473VKGEN_NOEXT_ADD = -DNO_VULKAN_EXTENSIONS
474+ VKGEN_SUFFIX = -noext
475+ else
476+ VKGEN_SUFFIX =
474477endif
475478VKGEN_NOEXT_FORCE = -DNO_VULKAN_EXTENSIONS
479+ VKGEN_HPP = ggml/src/ggml-vulkan-shaders$(VKGEN_SUFFIX ) .hpp
480+ VKGEN_CPP = ggml/src/ggml-vulkan-shaders$(VKGEN_SUFFIX ) .cpp
476481
477482#
478483# Print build information
@@ -685,9 +690,9 @@ ggml_v3-opencl.o: otherarch/ggml_v3-opencl.cpp otherarch/ggml_v3-opencl.h
685690 $(CXX ) $(CXXFLAGS ) $(CLBLAST_FLAGS ) -c $< -o $@
686691
687692# vulkan
688- ggml-vulkan.o : ggml/src/ggml-vulkan/ggml-vulkan.cpp ggml/include/ggml-vulkan.h ggml/src/ggml-vulkan-shaders.cpp
693+ ggml-vulkan.o : ggml/src/ggml-vulkan/ggml-vulkan.cpp ggml/include/ggml-vulkan.h $( VKGEN_CPP )
689694 $(CXX ) $(CXXFLAGS ) $(VKGEN_NOEXT_ADD ) $(VULKAN_FLAGS ) -c $< -o $@
690- ggml-vulkan-shaders.o : ggml/src/ggml-vulkan-shaders.cpp ggml/include/ggml-vulkan.h
695+ ggml-vulkan-shaders.o : $( VKGEN_CPP ) ggml/include/ggml-vulkan.h
691696 $(CXX ) $(CXXFLAGS ) $(VKGEN_NOEXT_ADD ) $(VULKAN_FLAGS ) -c $< -o $@
692697ggml-vulkan-noext.o : ggml/src/ggml-vulkan/ggml-vulkan.cpp ggml/include/ggml-vulkan.h ggml/src/ggml-vulkan-shaders-noext.cpp
693698 $(CXX ) $(CXXFLAGS ) $(VKGEN_NOEXT_FORCE ) $(VULKAN_FLAGS ) -c $< -o $@
@@ -785,7 +790,7 @@ vulkan-shaders-gen: ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
785790 $(CXX ) $(CXXFLAGS ) $(VKGEN_NOEXT_ADD ) $(filter-out % .h,$^ ) -o $@ $(LDFLAGS )
786791ifeq ($(OS ) ,Windows_NT)
787792 @echo 'Now rebuilding vulkan shaders for Windows...'
788- $(shell) vulkan-shaders-gen --glslc glslc --input-dir ggml/src/ggml-vulkan/vulkan-shaders --target-hpp ggml/src/ggml-vulkan-shaders.hpp --target-cpp ggml/src/ggml-vulkan-shaders.cpp --output-dir vulkan-spv-tmp
793+ $(shell) vulkan-shaders-gen --glslc glslc --input-dir ggml/src/ggml-vulkan/vulkan-shaders --target-hpp $(VKGEN_HPP) --target-cpp $(VKGEN_CPP) --output-dir vulkan-spv-tmp
789794 @echo 'Vulkan Shaders Rebuilt for Windows...'
790795else
791796 @echo 'Now rebuilding vulkan shaders for Linux...'
819824 echo "Error: No usable glslc found. Vulkan shaders cannot be compiled!"; \
820825 else \
821826 echo "Using GLSLC: $$GLSLC_BIN"; \
822- ./vulkan-shaders-gen --glslc "$$GLSLC_BIN" --input-dir ggml/src/ggml-vulkan/vulkan-shaders --target-hpp ggml/src/ggml-vulkan-shaders.hpp --target-cpp ggml/src/ggml-vulkan-shaders.cpp --output-dir vulkan-spv-tmp; \
827+ ./vulkan-shaders-gen --glslc "$$GLSLC_BIN" --input-dir ggml/src/ggml-vulkan/vulkan-shaders --target-hpp $(VKGEN_HPP) --target-cpp $(VKGEN_CPP) --output-dir vulkan-spv-tmp; \
823828 fi
824829 @echo 'Vulkan Shaders Rebuilt for Linux...'
825830endif
0 commit comments