util: update junit.xml target

- Display what's happening to the console as well as logging to the
junit.xml file.
- Log the clean in the junit.xml file so if it fails it doesn't just
appear to not have run the test.
- Run both clean and distclean (if distclean exists and runs clean,
this still only runs clean once) so that if distclean doesn't exist
the clean still happens.  Don't stop the build if the clean step
fails in case there's no distclean in the util makefile.
- Run the util builds multithreaded.  This saves a couple of seconds
and helps find dependency issues that might not be seen if building
single-threaded.

Change-Id: If895295c83faba98661b7c925b65fd436e06b834
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: http://review.coreboot.org/12121
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/Makefile.inc b/Makefile.inc
index 3a0d0bc..6f9d77f 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -682,14 +682,18 @@
 	printf $(CONFIG_BOARD_ID_STRING) > $@
 
 junit.xml:
+	echo "Building $(UTIL)"
 	echo '<?xml version="1.0" encoding="utf-8"?><testsuite>' > $@.tmp
-	$(MAKE) -C "util/$(UTIL)" distclean > /dev/null 2>&1
 	echo "<testcase classname='$(UTIL)' name='$(UTIL)'>" >> $@.tmp
-	$(MAKE) -C "util/$(UTIL)" >> $@.tmp.2 2>&1 && type="system-out" || type="failure"; \
+	-$(MAKE) -j $(CPUS) -C "util/$(UTIL)" clean distclean > $@.tmp.2 2>&1
+	$(MAKE) -j $(CPUS) -C "util/$(UTIL)" >> $@.tmp.2 2>&1 && type="system-out" || type="failure"; \
+	cat $@.tmp.2; \
 	if [ "$$type" = "failure" ]; then \
 		echo "<failure type='buildFailed'>" >> $@.tmp; \
+		echo "Building $(UTIL) Failed"; \
 	else \
 		echo "<$$type>" >> $@.tmp; \
+		echo "Building $(UTIL) Succeeded"; \
 	fi; \
 	echo '<![CDATA[' >> $@.tmp; \
 	cat $@.tmp.2 >> $@.tmp; \
@@ -698,6 +702,7 @@
 	echo "</testcase>" >> $@.tmp
 	echo "</testsuite>" >> $@.tmp
 	mv $@.tmp "util/$(UTIL)/$@"
+	echo
 
 TOOLLIST= \
 	cbmem \
@@ -710,4 +715,4 @@
 	util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c $(CPUS) -z -p $(JENKINS_PAYLOAD) -x -X $(top)/abuild-chromeos.xml
 	util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c $(CPUS) -z -p $(JENKINS_PAYLOAD)
 	(cd payloads/libpayload; unset COREBOOT_BUILD_DIR; $(MAKE) $(if $(JENKINS_NOCCACHE),,CONFIG_LP_CCACHE=y) V=$(V) Q=$(Q) junit.xml)
-	$(foreach tool, $(TOOLLIST), $(MAKE) V=$(V) Q=$(Q) UTIL="$(tool)" MFLAGS= MAKEFLAGS= junit.xml; )
+	$(foreach tool, $(TOOLLIST), $(MAKE) CPUS=$(CPUS) V=$(V) Q=$(Q) UTIL="$(tool)" MFLAGS= MAKEFLAGS= junit.xml; )