The logic of detecting changes in default-configs/*.mak is
flawed as can be demonstrated by 'touch default-configs/*.mak'
followed by make. This results in a message claiming that user
made changes to the */config-devices.mak files.

Fix by separating the detection of changes made by the user and
changes in the default-configs.

Signed-off-by: Blue Swirl <blauwir...@gmail.com>
---
 Makefile |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 090d632..ff39025 100644
--- a/Makefile
+++ b/Makefile
@@ -43,9 +43,11 @@ config-all-devices.mak: $(SUBDIR_DEVICES_MAK)
 %/config-devices.mak: default-configs/%.mak
        $(call quiet-command,cat $< > $...@.tmp, "  GEN   $@")
        @if test -f $@; then \
-         if cmp -s $...@.old $@ || cmp -s $@ $...@.tmp; then \
-           mv $...@.tmp $@; \
-           cp -p $@ $...@.old; \
+         if cmp -s $...@.old $@; then \
+           if ! cmp -s $@ $...@.tmp; then \
+             mv $...@.tmp $@; \
+             cp -p $@ $...@.old; \
+           fi; \
          else \
            if test -f $...@.old; then \
              echo "WARNING: $@ (user modified) out of date.";\
-- 
1.6.2.4

Reply via email to