diff --git a/Makefile b/Makefile index 21fba7c..d32ed67 100644 --- a/Makefile +++ b/Makefile @@ -20,27 +20,39 @@ SRC = $(wildcard src/**/*.c) $(wildcard src/*.c) $(wildcard src/**/**/*.c) $(wi OBJ = $(SRC:.c=.o) BIN = bin -.PHONY: all clean +.PHONY: all clean libs game run dirs -all: dirs libs game +game: $(BIN)/game -libs: - cd lib/cglm && cmake . -DCGLM_STATIC=ON && make +run: $(BIN)/game + $< + +libs: lib/cglm/libcglm.a lib/glad/src/glad.o lib/glfw/src/libglfw3.a lib/noise/libnoise.a + +lib/cglm/libcglm.a: + cd lib/cglm && cmake . -DCGLM_STATIC=ON && $(MAKE) + +lib/glad/src/glad.o: cd lib/glad && $(CC) -o src/glad.o -Iinclude -c src/glad.c - cd lib/glfw && cmake . && make - cd lib/noise && make -dirs: - mkdir -p ./$(BIN) +lib/glfw/src/libglfw3.a: + cd lib/glfw && cmake . && $(MAKE) -run: all - $(BIN)/game +lib/noise/libnoise.a: + cd lib/noise && $(MAKE) -game: $(OBJ) - $(CC) -o $(BIN)/game $^ $(LDFLAGS) +dirs: $(BIN) -%.o: %.c - $(CC) -o $@ -c $< $(CFLAGS) +$(BIN): + mkdir -p -- $@ + +$(BIN)/game: $(OBJ) | $(BIN) + $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) + +%.o: %.c | libs + $(CC) -o $@ -MMD -c $< $(CFLAGS) clean: - rm -rf $(BIN) $(OBJ) + rm -rf $(BIN) $(OBJ) $(OBJ:.o=.d) + +-include $(OBJ:.o=.d) diff --git a/lib/cglm b/lib/cglm index c783c42..34e5704 160000 --- a/lib/cglm +++ b/lib/cglm @@ -1 +1 @@ -Subproject commit c783c4210152522ef61f40863f7c91f74186cb2a +Subproject commit 34e5704fe88da1e277ef4ab6c498eacfa464a391