shader-embeded.mk 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #
  2. # Copyright 2011-2013 Branimir Karadzic. All rights reserved.
  3. # License: http://www.opensource.org/licenses/BSD-2-Clause
  4. #
  5. ifndef VERBOSE
  6. SILENT = @
  7. endif
  8. THISDIR := $(dir $(lastword $(MAKEFILE_LIST)))
  9. VS_FLAGS+=-i $(THISDIR)../src/ --type vertex
  10. FS_FLAGS+=-i $(THISDIR)../src/ --type fragment
  11. SHADERC="$(THISDIR)../tools/bin/shaderc"
  12. VS_SOURCES=$(wildcard vs_*.sc)
  13. FS_SOURCES=$(wildcard fs_*.sc)
  14. VS_BIN = $(addsuffix .bin.h, $(basename $(VS_SOURCES)))
  15. FS_BIN = $(addsuffix .bin.h, $(basename $(FS_SOURCES)))
  16. BIN = $(VS_BIN) $(FS_BIN)
  17. SHADER_TMP = $(TEMP)/tmp
  18. vs_%.bin.h : vs_%.sc
  19. @echo [$(<)]
  20. $(SILENT) $(SHADERC) $(VS_FLAGS) --platform windows -p vs_3_0 -O 3 -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_dx9
  21. @cat $(SHADER_TMP) > $(@)
  22. $(SILENT) $(SHADERC) $(VS_FLAGS) --platform windows -p vs_4_0 -O 3 -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_dx11
  23. @cat $(SHADER_TMP) >> $(@)
  24. $(SILENT) $(SHADERC) $(VS_FLAGS) --platform linux -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_glsl
  25. @cat $(SHADER_TMP) >> $(@)
  26. fs_%.bin.h : fs_%.sc
  27. @echo [$(<)]
  28. $(SILENT) $(SHADERC) $(FS_FLAGS) --platform windows -p ps_3_0 -O 3 -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_dx9
  29. @cat $(SHADER_TMP) > $(@)
  30. $(SILENT) $(SHADERC) $(FS_FLAGS) --platform windows -p ps_4_0 -O 3 -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_dx11
  31. @cat $(SHADER_TMP) >> $(@)
  32. $(SILENT) $(SHADERC) $(FS_FLAGS) --platform linux -f $(<) -o $(SHADER_TMP) --bin2c $(basename $(<))_glsl
  33. @cat $(SHADER_TMP) >> $(@)
  34. .PHONY: all
  35. all: $(BIN)
  36. .PHONY: clean
  37. clean:
  38. @echo Cleaning...
  39. @-rm -vf $(BIN)
  40. .PHONY: rebuild
  41. rebuild: clean all