OSDN Git Service

Makefile: Update unmodified config-devices.mak automatically
authorStefan Weil <weil@mail.berlios.de>
Sun, 20 Dec 2009 14:39:03 +0000 (15:39 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 8 Jan 2010 15:58:40 +0000 (09:58 -0600)
This makes rebuilds after source updates easier
for most users (who don't edit config-devices.mak).

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Makefile

index 1f284ae..20c4e56 100644 (file)
--- 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: