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 $@ $^