Patchwork [2/3,trivial] Simpler handling of tracetool-generated files in makfiles

login
register
mail settings
Submitter Lluís Vilanova
Date Feb. 3, 2012, 9:15 p.m.
Message ID <20120203211527.31173.65983.stgit@ginnungagap.bsc.es>
Download mbox | patch
Permalink /patch/139469/
State New
Headers show

Comments

Lluís Vilanova - Feb. 3, 2012, 9:15 p.m.
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
---
 Makefile.objs |   19 +++++++++----------
 rules.mak     |    6 ++++++
 2 files changed, 15 insertions(+), 10 deletions(-)

Patch

diff --git a/Makefile.objs b/Makefile.objs
index 941386b..b187d17 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -349,18 +349,17 @@  libdis-$(CONFIG_SPARC_DIS) += sparc-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)
 
@@ -372,11 +371,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 04a9198..a7e58a0 100644
--- a/rules.mak
+++ b/rules.mak
@@ -59,6 +59,12 @@  find-in-path = $(if $(find-string /, $1), \
         $(wildcard $1), \
         $(wildcard $(patsubst %, %/$1, $(subst :, ,$(PATH)))))
 
+# Generate files with tracetool
+
+TRACETOOL=$(SRC_PATH)/scripts/tracetool.py
+tracetool-gen=$(call quiet-command,$(PYTHON) $(TRACETOOL) $(3) --format=$(1) --backend=$(2) < $< > $@,"  GEN   $(subst -timestamp,,$@)")
+tracetool-ci=@cmp -s $@ $(subst -timestamp,,$@) || cp $@ $(subst -timestamp,,$@)
+
 # Generate timestamp files for .h include files
 
 %.h: %.h-timestamp