[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] [trivial] Simpler handling of tracetool-generat
From: |
Lluís Vilanova |
Subject: |
[Qemu-devel] [PATCH 2/2] [trivial] Simpler handling of tracetool-generated files in makefiles |
Date: |
Sat, 14 Apr 2012 00:19:08 +0200 |
User-agent: |
StGit/0.16 |
Adds 'tracetool-gen' to generate files with tracetool into a temporary file, and
'tracetool-ci' to "commit" the generation from the temporaty file into the
actual destination file if there were any changes in the produced file.
Signed-off-by: Lluís Vilanova <address@hidden>
---
Makefile.objs | 19 +++++++++----------
rules.mak | 17 +++++++++++++++++
2 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index 6d6f24d..b98e905 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -373,18 +373,17 @@ libdis-$(CONFIG_LM32_DIS) += lm32-dis.o
# trace
ifeq ($(TRACE_BACKEND),dtrace)
-trace.h: trace.h-timestamp trace-dtrace.h
-else
-trace.h: trace.h-timestamp
+TRACE_H_EXTRA_DEPS=trace-dtrace.h
endif
+trace.h: trace.h-timestamp $(TRACE_H_EXTRA_DEPS)
trace.h-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
- $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
--format=h --backend=$(TRACE_BACKEND) < $< > $@," GEN trace.h")
- @cmp -s $@ trace.h || cp $@ trace.h
+ $(call tracetool-gen,h,$(TRACE_BACKEND))
+ $(call tracetool-ci)
trace.c: trace.c-timestamp
trace.c-timestamp: $(SRC_PATH)/trace-events $(BUILD_DIR)/config-host.mak
- $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
--format=c --backend=$(TRACE_BACKEND) < $< > $@," GEN trace.c")
- @cmp -s $@ trace.c || cp $@ trace.c
+ $(call tracetool-gen,c,$(TRACE_BACKEND))
+ $(call tracetool-ci)
trace.o: trace.c $(GENERATED_HEADERS)
@@ -396,11 +395,11 @@ trace-dtrace.h: trace-dtrace.dtrace
# rule file. So we use '.dtrace' instead
trace-dtrace.dtrace: trace-dtrace.dtrace-timestamp
trace-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events
$(BUILD_DIR)/config-host.mak
- $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/tracetool.py
--format=d --backend=$(TRACE_BACKEND) < $< > $@," GEN trace-dtrace.dtrace")
- @cmp -s $@ trace-dtrace.dtrace || cp $@ trace-dtrace.dtrace
+ $(call tracetool-gen,d,$(TRACE_BACKEND))
+ $(call tracetool-ci)
trace-dtrace.o: trace-dtrace.dtrace $(GENERATED_HEADERS)
- $(call quiet-command,dtrace -o $@ -G -s $<, " GEN trace-dtrace.o")
+ $(call quiet-command,dtrace -o $@ -G -s $<, " GEN trace-dtrace.o")
ifeq ($(LIBTOOL),)
trace-dtrace.lo: trace-dtrace.dtrace
diff --git a/rules.mak b/rules.mak
index c30093c..2cbceab 100644
--- a/rules.mak
+++ b/rules.mak
@@ -59,6 +59,23 @@ find-in-path = $(if $(find-string /, $1), \
$(wildcard $1), \
$(wildcard $(patsubst %, %/$1, $(subst :, ,$(PATH)))))
+# Generate files with tracetool
+
+TRACETOOL=$(SRC_PATH)/scripts/tracetool.py
+
+# Generate a file with tracetool.
+# Assumes:
+# * $@ : ends with "-timestamp"
+# * $< : is the "trace-events" file
+# Takes:
+# * 1 : format
+# * 2 : backend
+# * 1 : extra tracetool arguments (optional)
+tracetool-gen=$(call quiet-command,$(PYTHON) $(TRACETOOL) $(3) --format=$(1)
--backend=$(2) < $< > $@," GEN $(subst -timestamp,,$@)")
+
+# "Commits" the file generated by tracetool with 'tracetool-gen'
address@hidden -s $@ $(subst -timestamp,,$@) || cp $@ $(subst -timestamp,,$@)
+
# Generate timestamp files for .h include files
%.h: %.h-timestamp
[Qemu-devel] [PATCH 2/2] [trivial] Simpler handling of tracetool-generated files in makefiles,
Lluís Vilanova <=