aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile20
1 files changed, 15 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 1f284aead4..20c4e56e21 100644
--- a/Makefile
+++ b/Makefile
@@ -42,12 +42,22 @@ config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
%/config-devices.mak: default-configs/%.mak
$(call quiet-command,cat $< > $@.tmp, " GEN $@")
- @if test -f $@ ; then \
- echo "WARNING: $@ out of date." ;\
- echo "Run \"make defconfig\" to regenerate." ; \
- rm $@.tmp ; \
+ @if test -f $@; then \
+ if cmp -s $@.old $@ || cmp -s $@ $@.tmp; then \
+ mv $@.tmp $@; \
+ cp -p $@ $@.old; \
+ else \
+ if test -f $@.old; then \
+ echo "WARNING: $@ (user modified) out of date.";\
+ else \
+ echo "WARNING: $@ out of date.";\
+ fi; \
+ echo "Run \"make defconfig\" to regenerate."; \
+ rm $@.tmp; \
+ fi; \
else \
- mv $@.tmp $@ ; \
+ mv $@.tmp $@; \
+ cp -p $@ $@.old; \
fi
defconfig: