wingo pushed a commit to branch wip-whippet
in repository guile.

commit 1c76cdcf072e71937f15c17ad014641de9eeb78b
Author: Andy Wingo <wi...@igalia.com>
AuthorDate: Mon Aug 7 10:55:30 2023 +0200

    Put deps in subdir
---
 .gitignore |  2 +-
 Makefile   | 19 ++++++++++++-------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/.gitignore b/.gitignore
index 8dd74cd6b..231806c14 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-/*.d
 /*.o
 /*.bdw
 /*.semi
@@ -14,3 +13,4 @@
 /*.heap-conservative-generational-whippet
 /*.heap-conservative-parallel-whippet
 /*.heap-conservative-parallel-generational-whippet
+/.deps/
diff --git a/Makefile b/Makefile
index 5f959c210..e959d9384 100644
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,8 @@ CC=gcc
 CFLAGS=-Wall -flto -fno-strict-aliasing -fvisibility=hidden -Wno-unused 
$(BUILD_CFLAGS)
 CPPFLAGS=-Iapi
 LDFLAGS=-lpthread -flto
-OUTPUT_OPTION=-MMD -MP -o $@
+DEPFLAGS=-MMD -MP -MF $(@:%.o=.deps/%.d)
+OUTPUT_OPTION=$(DEPFLAGS) -o $@
 COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(OUTPUT_OPTION)
 LINK=$(CC) $(LDFLAGS) -o $@
 PLATFORM=gnu-linux
@@ -40,6 +41,14 @@ ALL_TESTS=$(foreach COLLECTOR,$(COLLECTORS),$(addsuffix 
.$(COLLECTOR),$(TESTS)))
 
 all: $(ALL_TESTS)
 
+OBJS=gc-platform.o gc-stack.o gc-options.o
+OBJS+=$(foreach TEST,$(TESTS),$(TEST).gc-ephemeron.o)
+OBJS+=$(foreach TEST,$(ALL_TESTS),$(TEST).gc.o $(TEST).o)
+DEPS=$(OBJS:%.o=.deps/%.d)
+$(OBJS): | .deps
+.deps: ; mkdir -p .deps
+-include $(DEPS)
+
 gc-platform.o: src/gc-platform.h src/gc-platform-$(PLATFORM).c 
api/gc-visibility.h
        $(COMPILE) -c src/gc-platform-$(PLATFORM).c
 
@@ -150,11 +159,7 @@ gc-options.o: src/gc-options.c api/gc-options.h 
src/gc-options-internal.h
 %.heap-conservative-parallel-generational-whippet: 
%.heap-conservative-parallel-generational-whippet.o 
%.heap-conservative-parallel-generational-whippet.gc.o gc-stack.o gc-options.o 
gc-platform.o %.gc-ephemeron.o
        $(LINK) $^
 
--include gc-platform.d gc-stack.d gc-options.d
--include $(foreach COLLECTOR,$(COLLECTORS),gc-ephemeron-$(COLLECTOR).d)
--include $(foreach TEST,$(ALL_TESTS),$(TEST).gc.d $(TEST).d)
-
-.PRECIOUS: $(ALL_TESTS) $(foreach TEST,$(ALL_TESTS),$(TEST).gc.o $(TEST).o)
+.PRECIOUS: $(ALL_TESTS) $(OBJS)
 
 clean:
-       rm -f $(ALL_TESTS) *.d *.o
+       rm -f $(ALL_TESTS) $(OBJS) $(DEPS)

Reply via email to