Index: benchmark/Makefile.am
===================================================================
--- benchmark/Makefile.am	(revision 5b11c25668bf48e43c6bf9f0e7c460acb2ca76f5)
+++ benchmark/Makefile.am	(revision 7f3f63cc9c42e8363dc7b2b0cf4b7e8d803c04e2)
@@ -67,4 +67,5 @@
 
 .NOTPARALLEL:
+.PHONY: compile.csv ctxswitch.csv mutex.csv signal.csv
 
 ## =========================================================================================================
@@ -94,38 +95,51 @@
 ## =========================================================================================================
 
+FIX_NEW_LINES = cat $@ | tr "\n" "\t" | sed -r 's/\t,/,/' | tr "\t" "\n" > $@
+
 jenkins$(EXEEXT):
-	@echo "{"
-	@echo -e '\t"githash": "'${githash}'",'
-	@echo -e '\t"arch": "'   ${arch}   '",'
 @DOifskipcompile@
-	@echo -e '\t"compile": {'
-	@+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
-	@echo -e '\t\t"dummy" : {}'
-	@echo -e '\t},'
+	@+make compile.csv
 @DOendif@
-	@echo -e '\t"ctxswitch": {'
-	@echo -en '\t\t"coroutine":'
-	@+make ctxswitch-cfa_coroutine.runquiet
-	@echo -en '\t\t,"thread":'
-	@+make ctxswitch-cfa_thread.runquiet
-	@echo -e '\t},'
-	@echo -e '\t"mutex": ['
-	@echo -en '\t\t'
-	@+make mutex-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make mutex-cfa2.runquiet
-	@echo -e '\t],'
-	@echo -e '\t"scheduling": ['
-	@echo -en '\t\t'
-	@+make signal-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make signal-cfa2.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa2.runquiet
-	@echo -e '\n\t],'
-	@echo -e '\t"epoch": ' $(shell date +%s)
-	@echo "}"
+	@+make ctxswitch.csv
+	@+make mutex.csv
+	@+make signal.csv
+@DOifskipcompile@
+	@cat compile.csv
+@DOendif@
+	@cat ctxswitch.csv
+	@cat mutex.csv
+	@cat signal.csv
+
+compile.csv:
+	@echo "array,attributes,empty,expression,io,monitor,operators,typeof" > $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-array.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-attributes.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-empty.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-expression.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-io.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-monitor.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-operators.make >> $@
+	@+make TIME_FORMAT='%e' PRINT_FORMAT='' compile-typeof.make >> $@
+	@$(srcdir)/fixcsv.sh $@
+
+ctxswitch.csv:
+	@echo "coroutine,thread" > $@
+	@+make ctxswitch-cfa_coroutine.runquiet >> $@ && echo -n ',' >> $@
+	@+make ctxswitch-cfa_thread.runquiet >> $@
+	@$(srcdir)/fixcsv.sh $@
+
+mutex.csv:
+	@echo "1-monitor,2-monitor" > $@
+	@+make mutex-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	@+make mutex-cfa2.runquiet >> $@
+	@$(srcdir)/fixcsv.sh $@
+
+signal.csv:
+	@echo "signal-1,signal-2,waitfor-1,waitfor-2" > $@
+	@+make signal-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	@+make signal-cfa2.runquiet >> $@ && echo -n ',' >> $@
+	@+make waitfor-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	@+make waitfor-cfa2.runquiet >> $@
+	@$(srcdir)/fixcsv.sh $@
 
 ## =========================================================================================================
Index: benchmark/Makefile.in
===================================================================
--- benchmark/Makefile.in	(revision 5b11c25668bf48e43c6bf9f0e7c460acb2ca76f5)
+++ benchmark/Makefile.in	(revision 7f3f63cc9c42e8363dc7b2b0cf4b7e8d803c04e2)
@@ -401,4 +401,5 @@
 PRINT_FORMAT = %20s: #Comments needed for spacing
 dummy_SOURCES = dummyC.c dummyCXX.cpp
+FIX_NEW_LINES = cat $@ | tr "\n" "\t" | sed -r 's/\t,/,/' | tr "\t" "\n" > $@
 CTXSWITCH_DEPEND = loop.run function.run fetch_add.run \
 	tls-fetch_add.run ctxswitch-pthread.run \
@@ -731,4 +732,5 @@
 
 .NOTPARALLEL:
+.PHONY: compile.csv ctxswitch.csv mutex.csv signal.csv
 
 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT)
@@ -756,37 +758,48 @@
 
 jenkins$(EXEEXT):
-	@echo "{"
-	@echo -e '\t"githash": "'${githash}'",'
-	@echo -e '\t"arch": "'   ${arch}   '",'
 @DOifskipcompile@
-	@echo -e '\t"compile": {'
-	@+make compile TIME_FORMAT='%e,' PRINT_FORMAT='\t\t\"%s\" :'
-	@echo -e '\t\t"dummy" : {}'
-	@echo -e '\t},'
+	@+make compile.csv
 @DOendif@
-	@echo -e '\t"ctxswitch": {'
-	@echo -en '\t\t"coroutine":'
-	@+make ctxswitch-cfa_coroutine.runquiet
-	@echo -en '\t\t,"thread":'
-	@+make ctxswitch-cfa_thread.runquiet
-	@echo -e '\t},'
-	@echo -e '\t"mutex": ['
-	@echo -en '\t\t'
-	@+make mutex-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make mutex-cfa2.runquiet
-	@echo -e '\t],'
-	@echo -e '\t"scheduling": ['
-	@echo -en '\t\t'
-	@+make signal-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make signal-cfa2.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa1.runquiet
-	@echo -en '\t\t,'
-	@+make waitfor-cfa2.runquiet
-	@echo -e '\n\t],'
-	@echo -e '\t"epoch": ' $(shell date +%s)
-	@echo "}"
+	@+make ctxswitch.csv
+	@+make mutex.csv
+	@+make signal.csv
+@DOifskipcompile@
+	@cat compile.csv
+@DOendif@
+	@cat ctxswitch.csv
+	@cat mutex.csv
+	@cat signal.csv
+
+compile.csv:
+	@echo "array,attributes,empty,expression,io,monitor,operators,typeof" > $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-array.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-attributes.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-empty.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-expression.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-io.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-monitor.make >> $@
+	@+make TIME_FORMAT='%e,' PRINT_FORMAT='' compile-operators.make >> $@
+	@+make TIME_FORMAT='%e' PRINT_FORMAT='' compile-typeof.make >> $@
+	@$(srcdir)/fixcsv.sh $@
+
+ctxswitch.csv:
+	@echo "coroutine,thread" > $@
+	@+make ctxswitch-cfa_coroutine.runquiet >> $@ && echo -n ',' >> $@
+	@+make ctxswitch-cfa_thread.runquiet >> $@
+	@$(srcdir)/fixcsv.sh $@
+
+mutex.csv:
+	@echo "1-monitor,2-monitor" > $@
+	@+make mutex-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	@+make mutex-cfa2.runquiet >> $@
+	@$(srcdir)/fixcsv.sh $@
+
+signal.csv:
+	@echo "signal-1,signal-2,waitfor-1,waitfor-2" > $@
+	@+make signal-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	@+make signal-cfa2.runquiet >> $@ && echo -n ',' >> $@
+	@+make waitfor-cfa1.runquiet >> $@ && echo -n ',' >> $@
+	@+make waitfor-cfa2.runquiet >> $@
+	@$(srcdir)/fixcsv.sh $@
 
 loop$(EXEEXT):
Index: benchmark/fixcsv.sh
===================================================================
--- benchmark/fixcsv.sh	(revision 7f3f63cc9c42e8363dc7b2b0cf4b7e8d803c04e2)
+++ benchmark/fixcsv.sh	(revision 7f3f63cc9c42e8363dc7b2b0cf4b7e8d803c04e2)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+CSV=$1
+tmpfile=$(mktemp)
+function finish {
+  rm -rf "$tmpfile"
+}
+trap finish EXIT
+
+mv $CSV $tmpfile
+cat $tmpfile | tr "\n" "\t" | sed -r 's/\t,/,/g;s/,\t/,/g' | tr "\t" "\n" > $CSV
Index: benchmark/jenkins.sh
===================================================================
--- benchmark/jenkins.sh	(revision 5b11c25668bf48e43c6bf9f0e7c460acb2ca76f5)
+++ 	(revision )
@@ -1,9 +1,0 @@
-#!/bin/bash
-
-set -o pipefail
-
-GitNewRef=$1
-Architecture=$2
-Out=$3
-
-make --no-print-directory -C benchmark jenkins githash=${GitNewRef} arch=${Architecture} | tee ${Out}
