ifeq ($(OS),Windows_NT) EXT = .exe CFLAGS = -ggdb -I3p/glad/include -I3p/glfw-3.4.bin.WIN64/include -L3p/glfw-3.4.bin.WIN64/lib-mingw-w64 LDFLAGS = -lglfw3 -lopengl32 -lgdi32 else UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) EXT = CFLAGS = -ggdb -I3p/glad/include #-fsanitize=address,undefined LDFLAGS = -lglfw -lm endif ifeq ($(UNAME_S),Darwin) EXT = CFLAGS = LDFLAGS = endif endif all: pbrex$(EXT) test_vector$(EXT) test_vector$(EXT): Makefile src/test_vector.cpp src/vector.c g++ src/test_vector.cpp src/vector.c -o $@ -I3p/glm pbrex$(EXT): Makefile $(wildcard src/*.c src/*.h) gcc -o $@ src/main.c src/utils.c src/camera.c src/mesh.c src/vector.c src/graphics.c 3p/glad/src/glad.c -std=c11 $(CFLAGS) $(LDFLAGS) clean: rm pbrex pbrex.exe