diff options
Diffstat (limited to '3rdparty/bgfx/scripts/shader.mk')
-rw-r--r-- | 3rdparty/bgfx/scripts/shader.mk | 60 |
1 files changed, 38 insertions, 22 deletions
diff --git a/3rdparty/bgfx/scripts/shader.mk b/3rdparty/bgfx/scripts/shader.mk index e8ca61d33cf..d1ddbf2b077 100644 --- a/3rdparty/bgfx/scripts/shader.mk +++ b/3rdparty/bgfx/scripts/shader.mk @@ -1,6 +1,6 @@ # -# Copyright 2011-2018 Branimir Karadzic. All rights reserved. -# License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause +# Copyright 2011-2022 Branimir Karadzic. All rights reserved. +# License: https://github.com/bkaradzic/bgfx/blob/master/LICENSE # THISDIR:=$(dir $(lastword $(MAKEFILE_LIST))) @@ -15,24 +15,38 @@ ifndef TARGET .PHONY: all all: @echo Usage: make TARGET=# [clean, all, rebuild] - @echo " TARGET=0 (hlsl - d3d9)" - @echo " TARGET=1 (hlsl - d3d11)" - @echo " TARGET=2 (essl - nacl)" + @echo " TARGET=0 (hlsl - d3d9 / Windows only!)" + @echo " TARGET=1 (hlsl - d3d11 / Windows only!)" @echo " TARGET=3 (essl - android)" @echo " TARGET=4 (glsl)" @echo " TARGET=5 (metal)" @echo " TARGET=6 (pssl)" - @echo " TARGET=7 (spriv)" + @echo " TARGET=7 (spirv)" + +.PHONY: build +build: +ifeq ($(OS), windows) + @make -s --no-print-directory TARGET=0 all + @make -s --no-print-directory TARGET=1 all +endif + @make -s --no-print-directory TARGET=3 all + @make -s --no-print-directory TARGET=4 all + @make -s --no-print-directory TARGET=5 all + @make -s --no-print-directory TARGET=7 all + +.PHONY: clean +clean: +ifeq ($(OS), windows) + @make -s --no-print-directory TARGET=0 clean + @make -s --no-print-directory TARGET=1 clean +endif + @make -s --no-print-directory TARGET=3 clean + @make -s --no-print-directory TARGET=4 clean + @make -s --no-print-directory TARGET=5 clean + @make -s --no-print-directory TARGET=7 clean .PHONY: rebuild -rebuild: - @make -s --no-print-directory TARGET=0 clean all - @make -s --no-print-directory TARGET=1 clean all - @make -s --no-print-directory TARGET=2 clean all - @make -s --no-print-directory TARGET=3 clean all - @make -s --no-print-directory TARGET=4 clean all - @make -s --no-print-directory TARGET=5 clean all - @make -s --no-print-directory TARGET=7 clean all +rebuild: clean build else @@ -44,8 +58,8 @@ FS_FLAGS=--platform windows -p ps_3_0 -O 3 SHADER_PATH=shaders/dx9 else ifeq ($(TARGET), 1) -VS_FLAGS=--platform windows -p vs_4_0 -O 3 -FS_FLAGS=--platform windows -p ps_4_0 -O 3 +VS_FLAGS=--platform windows -p vs_5_0 -O 3 +FS_FLAGS=--platform windows -p ps_5_0 -O 3 CS_FLAGS=--platform windows -p cs_5_0 -O 1 SHADER_PATH=shaders/dx11 else @@ -113,32 +127,32 @@ VS_BIN = $(addprefix $(BUILD_INTERMEDIATE_DIR)/, $(addsuffix .bin, $(basename $( FS_BIN = $(addprefix $(BUILD_INTERMEDIATE_DIR)/, $(addsuffix .bin, $(basename $(notdir $(FS_SOURCES))))) CS_BIN = $(addprefix $(BUILD_INTERMEDIATE_DIR)/, $(addsuffix .bin, $(basename $(notdir $(CS_SOURCES))))) -BIN = $(VS_BIN) $(FS_BIN) +BIN = $(VS_BIN) $(FS_BIN) $(CS_BIN) ASM = $(VS_ASM) $(FS_ASM) -ifeq ($(TARGET), $(filter $(TARGET),1 3 4 6)) +ifeq ($(TARGET), $(filter $(TARGET),1 3 4 5 6 7)) BIN += $(CS_BIN) ASM += $(CS_ASM) endif -$(BUILD_INTERMEDIATE_DIR)/vs_%.bin : $(SHADERS_DIR)vs_%.sc +$(BUILD_INTERMEDIATE_DIR)/vs_%.bin: $(SHADERS_DIR)vs_%.sc @echo [$(<)] $(SILENT) $(SHADERC) $(VS_FLAGS) --type vertex --depends -o $(@) -f $(<) --disasm $(SILENT) cp $(@) $(BUILD_OUTPUT_DIR)/$(@F) -$(BUILD_INTERMEDIATE_DIR)/fs_%.bin : $(SHADERS_DIR)fs_%.sc +$(BUILD_INTERMEDIATE_DIR)/fs_%.bin: $(SHADERS_DIR)fs_%.sc @echo [$(<)] $(SILENT) $(SHADERC) $(FS_FLAGS) --type fragment --depends -o $(@) -f $(<) --disasm $(SILENT) cp $(@) $(BUILD_OUTPUT_DIR)/$(@F) -$(BUILD_INTERMEDIATE_DIR)/cs_%.bin : $(SHADERS_DIR)cs_%.sc +$(BUILD_INTERMEDIATE_DIR)/cs_%.bin: $(SHADERS_DIR)cs_%.sc @echo [$(<)] $(SILENT) $(SHADERC) $(CS_FLAGS) --type compute --depends -o $(@) -f $(<) --disasm $(SILENT) cp $(@) $(BUILD_OUTPUT_DIR)/$(@F) .PHONY: all all: dirs $(BIN) - @echo Target $(SHADER_PATH) + @echo Target $(notdir $(CURDIR)) / $(SHADER_PATH) .PHONY: clean clean: @@ -158,6 +172,8 @@ dirs: .PHONY: rebuild rebuild: clean all +$(BIN) : | $(BUILD_INTERMEDIATE_DIR) + endif # TARGET -include $(VS_DEPS) |