]> git.proxmox.com Git - qemu.git/commitdiff
trace: avoid unnecessary recompilation if nothing changed
authorBlue Swirl <blauwirbel@gmail.com>
Sat, 2 Oct 2010 14:28:12 +0000 (14:28 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 2 Oct 2010 14:28:12 +0000 (14:28 +0000)
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.

Based on suggestion by Paolo Bonzini.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Makefile

index 7c71c83a18adb1ec0c867fa68f216048559bf4cb..04ce07d7c405018b04cf673f62d1b4fa8831287e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -106,11 +106,15 @@ 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   $@")
-
-trace.c: $(SRC_PATH)/trace-events config-host.mak
-       $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -c < $< > $@,"  GEN   $@")
+trace.h: trace.h-timestamp
+trace.h-timestamp: $(SRC_PATH)/trace-events config-host.mak
+       $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -h < $< > $@,"  GEN   trace.h")
+       @cmp -s $@ trace.h || cp $@ trace.h
+
+trace.c: trace.c-timestamp
+trace.c-timestamp: $(SRC_PATH)/trace-events config-host.mak
+       $(call quiet-command,sh $(SRC_PATH)/tracetool --$(TRACE_BACKEND) -c < $< > $@,"  GEN   trace.c")
+       @cmp -s $@ trace.c || cp $@ trace.c
 
 trace.o: trace.c $(GENERATED_HEADERS)