From 8904b33c5db6472efd8866c41fae297429b625c5 Mon Sep 17 00:00:00 2001 From: Score_Under Date: Wed, 9 Feb 2022 12:31:00 +0000 Subject: [PATCH 1/4] Fix parallel make --- Makefile | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 21fba7c..590c6e0 100644 --- a/Makefile +++ b/Makefile @@ -20,26 +20,36 @@ 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) + +lib/noise/libnoise.a: + cd lib/noise && $(MAKE) + +dirs: $(BIN) -run: all - $(BIN)/game +$(BIN): + mkdir -p -- $@ -game: $(OBJ) - $(CC) -o $(BIN)/game $^ $(LDFLAGS) +$(BIN)/game: $(OBJ) | $(BIN) + $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) -%.o: %.c +%.o: %.c | libs $(CC) -o $@ -c $< $(CFLAGS) clean: From f9853ead994e0440d048d04cf0848731fbc362c5 Mon Sep 17 00:00:00 2001 From: Score_Under Date: Wed, 9 Feb 2022 12:35:59 +0000 Subject: [PATCH 2/4] Update CGLM library to 0.8.4 Fix https://github.com/jdah/minecraft-weekend/issues/76 Fix https://github.com/jdah/minecraft-weekend/issues/75 Fix https://github.com/jdah/minecraft-weekend/issues/49 --- lib/cglm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From f36531d74b3008394310265e513d0bb29a7d8ddf Mon Sep 17 00:00:00 2001 From: Score_Under Date: Wed, 9 Feb 2022 12:44:55 +0000 Subject: [PATCH 3/4] Dependency tracking for incremental compilation --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 590c6e0..edecfc9 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,9 @@ $(BIN)/game: $(OBJ) | $(BIN) $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) %.o: %.c | libs - $(CC) -o $@ -c $< $(CFLAGS) + $(CC) -o $@ -MMD -c $< $(CFLAGS) clean: rm -rf $(BIN) $(OBJ) + +-include $(OBJ:.o=.d) From 0f603a6c6531d8914c8fe1dccb0698e1fc443a94 Mon Sep 17 00:00:00 2001 From: Score_Under Date: Wed, 9 Feb 2022 12:48:04 +0000 Subject: [PATCH 4/4] Clean object dependency files too --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index edecfc9..d32ed67 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,6 @@ $(BIN)/game: $(OBJ) | $(BIN) $(CC) -o $@ -MMD -c $< $(CFLAGS) clean: - rm -rf $(BIN) $(OBJ) + rm -rf $(BIN) $(OBJ) $(OBJ:.o=.d) -include $(OBJ:.o=.d)