src = $(wildcard src/*.c) $(wildcard src/gl/*.c) $(wildcard src/wsys/*.c) \ $(wildcard src/unix/*.c) obj = $(src:.c=.o) dep = $(src:.c=.d) sdr = test.v.glsl test.p.glsl spirv = $(sdr:.glsl=.spv) name = nexus3d liba = lib$(name).a warn = -pedantic -Wall dbg = -g #opt = -O3 -ffast-math inc = -Isrc CFLAGS = $(warn) $(dbg) $(opt) $(inc) $(def) -MMD LDFLAGS = -lGL -lglut -lGLEW -lm GLSLANG = glslangValidator test: test.o $(liba) $(spirv) $(CC) -o $@ test.o $(obj) $(liba) $(LDFLAGS) $(liba): $(obj) $(AR) rcs $@ $(obj) -include $(dep) %.v.spv: %.v.glsl $(GLSLANG) -G -S vert -o $@ $< %.p.spv: %.p.glsl $(GLSLANG) -G -S frag -o $@ $< .PHONY: clean clean: rm -f $(obj) $(liba) test test.o .PHONY: cleandep cleandep: rm -f $(dep)