From a9a76cb2c22fe61f4f838f8983b3a0fb72c79e2b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Kijewski?= <rene.kijewski@fu-berlin.de>
Date: Wed, 18 Jun 2014 23:25:07 +0200
Subject: [PATCH] make: create dependencies as side effect

---
 Makefile.base                  | 10 ++++------
 boards/native/Makefile         |  4 +---
 boards/native/drivers/Makefile |  4 +---
 cpu/native/Makefile            |  4 +---
 cpu/native/net/Makefile        |  4 +---
 cpu/native/rtc/Makefile        |  4 +---
 6 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/Makefile.base b/Makefile.base
index 143c3f1e6b..2d6dd20380 100644
--- a/Makefile.base
+++ b/Makefile.base
@@ -37,15 +37,13 @@ $(BINDIR)$(MODULE).a: $(OBJ) $(ASMOBJ) ${DIRS:%=ALL--%}
 	$(AD)$(AR) -rc $(BINDIR)$(MODULE).a $(OBJ) $(ASMOBJ)
 
 # pull in dependency info for *existing* .o files
+# deleted header files will be silently ignored
 -include $(OBJ:.o=.d)
 
-# compile and generate dependency info,
-# prepend path to dependency info file
+# compile and generate dependency info
 $(BINDIR)$(MODULE)/%.o: %.c
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) $(CFLAGS) $(INCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
-	$(AD)$(CC) $(CFLAGS) $(INCLUDES) -MM $*.c |\
-		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
+	$(AD)$(CC) $(CFLAGS) $(INCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.c
 
 $(BINDIR)$(MODULE)/%.o: %.s
 	@mkdir -p $(BINDIR)$(MODULE)
@@ -53,4 +51,4 @@ $(BINDIR)$(MODULE)/%.o: %.s
 
 $(BINDIR)$(MODULE)/%.o: %.S
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) -c $(CFLAGS) $*.S -o $(BINDIR)$(MODULE)/$*.o
+	$(AD)$(CC) $(CFLAGS) $(INCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.S
diff --git a/boards/native/Makefile b/boards/native/Makefile
index d71a2ae828..c18669dc53 100644
--- a/boards/native/Makefile
+++ b/boards/native/Makefile
@@ -6,6 +6,4 @@ include $(RIOTBASE)/Makefile.base
 
 $(BINDIR)$(MODULE)/%.o: %.c
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
-		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
+	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.c
diff --git a/boards/native/drivers/Makefile b/boards/native/drivers/Makefile
index 646c1f9b72..0963caa6eb 100644
--- a/boards/native/drivers/Makefile
+++ b/boards/native/drivers/Makefile
@@ -4,6 +4,4 @@ include $(RIOTBASE)/Makefile.base
 
 $(BINDIR)$(MODULE)/%.o: %.c
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
-		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
+	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.c
diff --git a/cpu/native/Makefile b/cpu/native/Makefile
index bfd643aad3..cd2753d6b7 100644
--- a/cpu/native/Makefile
+++ b/cpu/native/Makefile
@@ -11,6 +11,4 @@ include $(RIOTBASE)/Makefile.base
 
 $(BINDIR)$(MODULE)/%.o: %.c
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
-		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
+	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.c
diff --git a/cpu/native/net/Makefile b/cpu/native/net/Makefile
index 18e5e574f9..072ae1bb3f 100644
--- a/cpu/native/net/Makefile
+++ b/cpu/native/net/Makefile
@@ -4,6 +4,4 @@ include $(RIOTBASE)/Makefile.base
 
 $(BINDIR)$(MODULE)/%.o: %.c
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
-		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
+	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.c
diff --git a/cpu/native/rtc/Makefile b/cpu/native/rtc/Makefile
index 4847e7a5f1..beebfafb82 100644
--- a/cpu/native/rtc/Makefile
+++ b/cpu/native/rtc/Makefile
@@ -2,6 +2,4 @@ include $(RIOTBASE)/Makefile.base
 
 $(BINDIR)$(MODULE)/%.o: %.c
 	@mkdir -p $(BINDIR)$(MODULE)
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -c $*.c -o $(BINDIR)$(MODULE)/$*.o
-	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MM $*.c |\
-		sed -e "1s|^|$(BINDIR)$(MODULE)/|" > $(BINDIR)$(MODULE)/$*.d
+	$(AD)$(CC) $(CFLAGS) $(NATIVEINCLUDES) -MD -MP -c -o $(BINDIR)$(MODULE)/$*.o $*.c
-- 
GitLab