Index: Jenkinsfile
===================================================================
--- Jenkinsfile	(revision 36463e21f08098ed15fc49c4083fb7ca58daf44a)
+++ Jenkinsfile	(revision 0759ba0c5a04ecfe0dafe558076327ff4fa5d97d)
@@ -174,5 +174,5 @@
 
 def notify_server(int wait) {
-	sh """curl --data "wait=${wait}" -X POST https://cforall.uwaterloo.ca:8082/jenkins/notify > /dev/null || true"""
+	sh """curl --silent --show-error --data "wait=${wait}" -X POST https://cforall.uwaterloo.ca:8082/jenkins/notify > /dev/null || true"""
 	return
 }
@@ -260,17 +260,15 @@
 		def install_dir = pwd tmp: true
 
-		//Output compiler version to help with debug
-		echo """C++ Compiler :"""
-		sh "which ${compiler.cpp_cc} && ${compiler.cpp_cc} --version"
-		echo """C   Compiler :"""
-		sh "which ${compiler.cfa_cc} && ${compiler.cfa_cc} --version"
-
-		//Configure the conpilation (Output is not relevant)
-		//Use the current directory as the installation target so nothing escapes the sandbox
-		//Also specify the compiler by hand
-		sh "./configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --prefix=${install_dir} --enable-silent-rules --quiet"
-
-		//Compile the project
-		sh 'make -j 8 --no-print-directory V=0 install'
+		// Build outside of the src tree to ease cleaning
+		sh "mkdir -p build"
+		dir ('build') {
+			//Configure the conpilation (Output is not relevant)
+			//Use the current directory as the installation target so nothing escapes the sandbox
+			//Also specify the compiler by hand
+			sh "../configure CXX=${compiler.cpp_cc} ${architecture} --with-backend-compiler=${compiler.cfa_cc} --prefix=${install_dir} --enable-silent-rules --quiet"
+
+			//Compile the project
+			sh 'make -j 8 --no-print-directory'
+		}
 	}
 }
@@ -279,11 +277,13 @@
 	build_stage('Test') {
 
-		//Run the tests from the tests directory
-		if ( do_alltests ) {
-			sh 'make -C src/tests all-tests debug=yes --no-print-directory'
-			sh 'make -C src/tests all-tests debug=no --no-print-directory'
-		}
-		else {
-			sh 'make -C src/tests --no-print-directory'
+		dir ('build/src/tests') {
+			//Run the tests from the tests directory
+			if ( do_alltests ) {
+				sh 'make all-tests debug=yes --no-print-directory'
+				sh 'make all-tests debug=no --no-print-directory'
+			}
+			else {
+				sh 'make --no-print-directory'
+			}
 		}
 	}
@@ -302,7 +302,6 @@
 def clean() {
 	build_stage('Cleanup') {
-
-		//do a maintainer-clean to make sure we need to remake from scratch
-		sh 'make maintainer-clean > /dev/null'
+		// clean the build by wipping the build directory
+		sh 'rm -rf build'
 	}
 }
@@ -329,5 +328,5 @@
 
 		//Then publish the results
-		sh 'curl -H \'Content-Type: application/json\' --data @bench.json https://cforall.uwaterloo.ca:8082/jenkins/publish > /dev/null || true'
+		sh 'curl --silent --show-error -H \'Content-Type: application/json\' --data @bench.json https://cforall.uwaterloo.ca:8082/jenkins/publish > /dev/null || true'
 	}
 }
