src = $(wildcard src/*.c)
obj = $(src:.c=.o)
dep = $(obj:.o=.d)
+vsdr = $(wildcard data/*.vert)
+fsdr = $(wildcard data/*.frag)
+spv = $(subst .vert,.vert.spv,$(vsdr)) \
+ $(subst .frag,.frag.spv,$(fsdr))
bin = rt
dbg = -g
+inc = -I/usr/include -Isubmodule/libimago/src -I/usr/local/include
CC = gcc
-CFLAGS = -pedantic -Wall $(dbg) $(pkg-config --cflags glfw3)
-LDFLAGS = -lvulkan -lglfw #$(pkg-config --libs glfw3)
+CXX = g++
+CFLAGS = -pedantic -Wall $(dbg) -MMD
+CXXFLAGS = -pedantic -Wall $(dbg) -MMD $(opt) $(inc)
+LDFLAGS = -lvulkan -lglfw -lassimp -limago
+
+.PHONY: all
+all: $(bin) $(spv)
$(bin): $(obj)
- $(CC) -o $@ $(obj) $(LDFLAGS)
+ $(CXX) -o $@ $(obj) $(LDFLAGS)
--include $(dep)
+%.vert.spv: %.vert
+ glslangValidator -V $< -o $@
-%.d: %.c
- @$(CC) $(CFLAGS) $< -MM -MT $(@:.d=.o) >$@
+%.frag.spv: %.frag
+ glslangValidator -V $< -o $@
+
+-include $(dep)
.PHONY: clean
clean:
- rm -f $(obj) $(bin) $(dep)
+ rm -f $(obj) $(bin) $(dep) $(spv)