From 7a33344dd3005056fcc609d038102462ed11ecb8 Mon Sep 17 00:00:00 2001 From: Tom Steer Date: Fri, 14 Nov 2025 16:05:34 +0000 Subject: [PATCH] Use GCC MD/MP flags to Track Dependencies In order to automatically track dependencies such as header files, use the GCC MD/MP flags to generate an included dependency list. This ensures header dependencies are tracked to avoid unnecessary rebuilds. --- firmware-template-gd32/lib/Rules.mk | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/firmware-template-gd32/lib/Rules.mk b/firmware-template-gd32/lib/Rules.mk index 90d2497..188f0dd 100644 --- a/firmware-template-gd32/lib/Rules.mk +++ b/firmware-template-gd32/lib/Rules.mk @@ -72,11 +72,13 @@ LIST=lib.list define compile-objects $(info $1) $(BUILD)$1/%.o: $1/%.c - $(CC) $(COPS) -c $$< -o $$@ - + $(CC) -MD -MP $(COPS) -c $$< -o $$@ + $(BUILD)$1/%.o: $1/%.cpp - $(CPP) $(COPS) $(CPPOPS) -c $$< -o $$@ - + $(CPP) -MD -MP $(COPS) $(CPPOPS) -c $$< -o $$@ + +-include $(BUILD)$1/*.d + $(BUILD)$1/%.o: $1/%.S $(CC) $(COPS) -D__ASSEMBLY__ -c $$< -o $$@ endef