benchmark: change format of ts file to yaml
1. Use libyaml to generate timestamp dump file in YAML format.
2. Misc cosmetic changes and refactoring (debug output).
Example of ts file:
timestamps:
- core: 0
counter: 5818870656
address: 0x804d01f0
component: kmodule
- core: 0
counter: 5819087360
address: 0xe01d81b
component: core
...
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Igor Opaniuk <igor.opaniuk@linaro.org>
diff --git a/Makefile b/Makefile
index dc3795a..8be2583 100644
--- a/Makefile
+++ b/Makefile
@@ -6,20 +6,41 @@
OBJDUMP = $(CROSS_COMPILE)objdump
READELF = $(CROSS_COMPILE)readelf
-OBJS := main.o benchmark_aux.o
-
-CFLAGS += -Wall -Wextra -Werror -I$(TEEC_EXPORT)/include -I$(TEEC_INTERNAL_INCLUDES)/include
-#Add/link other required libraries here
-LDADD += -lm -lteec -lpthread -L$(TEEC_EXPORT)/lib
-
-BINARY = benchmark
-
.PHONY: all
-all: $(BINARY)
-
-$(BINARY): $(OBJS)
- $(CC) $(LDADD) -o $@ $^
+all: libyaml benchmark
.PHONY: clean
-clean:
- rm -f $(OBJS) $(BINARY)
+clean: libyaml-clean
+ rm -f $(OBJS) benchmark
+################################################################################
+# libYAML
+################################################################################
+LIBYAML_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE)
+LIBYAML_SRC_DIR = $(CURDIR)/libyaml
+LIBYAML_OUT_DIR = $(LIBYAML_SRC_DIR)/out
+
+.PHONY: libyaml
+libyaml:
+ cd $(LIBYAML_SRC_DIR) && ./bootstrap && \
+ ./configure --host=$(MULTIARCH) \
+ --prefix=$(LIBYAML_SRC_DIR)/out CC=$(CC) && \
+ $(MAKE) && $(MAKE) install
+
+.PHONY: libyaml-clean
+libyaml-clean:
+ cd $(LIBYAML_SRC_DIR) && \
+ $(MAKE) clean
+
+################################################################################
+# benchmark_app
+################################################################################
+OBJS := main.o benchmark_aux.o
+
+CFLAGS += -Wall -Wextra -Werror -I$(TEEC_EXPORT)/include \
+ -I$(TEEC_INTERNAL_INCLUDES)/include -I$(LIBYAML_OUT_DIR)/include
+#Add/link other required libraries here
+LDADD += -lm -lteec -lyaml -lpthread \
+ -L$(TEEC_EXPORT)/lib -L$(LIBYAML_OUT_DIR)/lib
+
+benchmark: $(OBJS)
+ $(CC) $(LDADD) -o $@ $^