summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rules.make2
-rw-r--r--scripts/fixdep.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/Rules.make b/Rules.make
index 6ef827d3df39..7db5301ea7db 100644
--- a/Rules.make
+++ b/Rules.make
@@ -446,7 +446,7 @@ if_changed = $(if $(strip $? \
# execute the command and also postprocess generated .d dependencies
# file
-if_changed_dep = $(if $(strip $? \
+if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\
$(filter-out $(cmd_$(1)),$(cmd_$@))\
$(filter-out $(cmd_$@),$(cmd_$(1)))),\
@set -e; \
diff --git a/scripts/fixdep.c b/scripts/fixdep.c
index b5d7bee8efc7..db45bd1888c0 100644
--- a/scripts/fixdep.c
+++ b/scripts/fixdep.c
@@ -292,7 +292,7 @@ void parse_dep_file(void *map, size_t len)
exit(1);
}
memcpy(s, m, p-m); s[p-m] = 0;
- printf("%s: \\\n", target);
+ printf("deps_%s := \\\n", target);
m = p+1;
clear_config();
@@ -314,7 +314,8 @@ void parse_dep_file(void *map, size_t len)
}
m = p + 1;
}
- printf("\n");
+ printf("\n%s: $(deps_%s)\n\n", target, target);
+ printf("$(deps_%s):\n", target);
}
void print_deps(void)