diff --git a/Makefile.base b/Makefile.base
index 143c3f1e6b0090fc43d7a7a5e79b7108c3983cd1..2d6dd20380aadbc22ddb1dbf780ac51d2bf498af 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 d71a2ae828916ae675c02f3722c60264ddd2085d..c18669dc538380381e8eba772d6300b6ca1a4606 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 646c1f9b72227414fb4c872beec52edb0c3c5da6..0963caa6ebfb83d7e993b2c6cdd665a9b8247d5a 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 bfd643aad35b360da00618c2b6ab57d6441e3bb1..cd2753d6b7a7ea86cdc6b2b22f036c861aaf7d89 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 18e5e574f934390eab466e7ec8139a2afb752e24..072ae1bb3f6687038e9a5b2f65773d52db76507d 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 4847e7a5f1e19288ca49c724f3654664d311c823..beebfafb8221be58dc855ee34e25d4b158090d4b 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