Add logic to detect changes in generated files. If the old and new files are identical, don't touch the generated file. This avoids a lot of churn since many files depend on trace.h.
Signed-off-by: Blue Swirl <blauwir...@gmail.com> --- Makefile | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index ff39025..085e8ed 100644 --- a/Makefile +++ b/Makefile @@ -107,10 +107,24 @@ ui/vnc.o: QEMU_CFLAGS += $(VNC_TLS_CFLAGS) bt-host.o: QEMU_CFLAGS += $(BLUEZ_CFLAGS) trace.h: $(SRC_PATH)/trace-events config-host.mak - $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -h < $< > $@," GEN $@") + $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -h < $< > $...@.tmp," GEN $@") + @if test -f $@; then \ + if ! cmp -s $@ $...@.tmp; then \ + mv $...@.tmp $@; \ + fi; \ + else \ + mv $...@.tmp $@; \ + fi trace.c: $(SRC_PATH)/trace-events config-host.mak - $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -c < $< > $@," GEN $@") + $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -c < $< > $...@.tmp," GEN $@") + @if test -f $@; then \ + if ! cmp -s $@ $...@.tmp; then \ + mv $...@.tmp $@; \ + fi; \ + else \ + mv $...@.tmp $@; \ + fi trace.o: trace.c $(GENERATED_HEADERS) -- 1.6.2.4