# iter5 vertex+UBO probe — build glue.

CC ?= cc
CFLAGS ?= -O0 -g -Wall -Wextra -std=c11
LDLIBS ?= -lvulkan

PROBE = probe_vbo_ubo
SRC   = probe_vbo_ubo.c
VERT  = probe_vbo_ubo.vert
FRAG  = probe_vbo_ubo.frag
VSPV  = probe_vbo_ubo.vert.spv
FSPV  = probe_vbo_ubo.frag.spv

all: $(PROBE) $(VSPV) $(FSPV)

$(PROBE): $(SRC)
	$(CC) $(CFLAGS) -o $@ $< $(LDLIBS)

$(VSPV): $(VERT)
	glslangValidator -V $< -o $@

$(FSPV): $(FRAG)
	glslangValidator -V $< -o $@

run: all
	PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 ./$(PROBE)

run-validation: all
	PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 \
	VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation \
	./$(PROBE)

clean:
	rm -f $(PROBE) $(VSPV) $(FSPV)

.PHONY: all run run-validation clean
