CC = clang CFLAGS = -std=c99 -Wall -Wextra -Werror -pedantic LDFLAGS = $(shell pkg-config --libs glfw3) LIBS = $(shell pkg-config --cflags glfw3) -I./glad/include .PHONY: run clean all: baselayout dist engine baselayout: mkdir -p bin mkdir -p obj dist: present.glsl present.glsl: shaders/present.frg.glsl shaders/present.vrt.glsl cp shaders/present.vrt.glsl bin/present.vs cp shaders/present.frg.glsl bin/present.fs glad.o: glad/src/gl.c $(CC) -I./glad/include -c glad/src/gl.c -o obj/glad.o main.o: main.c render.o canvas.o $(CC) $(CFLAGS) $(LIBS) -c main.c -o obj/main.o render.o: render.c $(CC) $(CFLAGS) $(LIBS) -c render.c -o obj/render.o canvas.o: canvas.c color.o $(CC) $(CFLAGS) $(LIBS) -c canvas.c -o obj/canvas.o color.o: color.c $(CC) $(CFLAGS) $(LIBS) -c color.c -o obj/color.o engine: main.o glad.o $(CC) $(CFLAGS) \ $(LDFLAGS) \ obj/main.o \ obj/glad.o \ obj/render.o \ obj/canvas.o \ obj/color.o \ -o bin/engine run: engine cd bin; \ ./engine clean: rm -r obj bin