diff --git a/.gitignore b/.gitignore
index 8b09e4783fbc0af66908e8376d557ef26df206c5..5328de00981b9d24553b08f328af5f89b3e276c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,3 +38,4 @@ tags
 .pydevproject
 .ropeproject
 *.orig
+Firmware.zip
diff --git a/Makefile b/Makefile
index cfc8159b1fa1952545ef26a2cd32fcbe876bdb00..0f68e7b4beb28fed4fe2cfe006a90f929b4b92ca 100644
--- a/Makefile
+++ b/Makefile
@@ -229,6 +229,7 @@ updatesubmodules:
 #
 testbuild:
 	$(Q) (cd $(PX4_BASE) && $(MAKE) distclean && $(MAKE) archives && $(MAKE) -j8)
+	$(Q) (zip -r Firmware.zip $(PX4_BASE)/Images)
 
 #
 # Unittest targets. Builds and runs the host-level
@@ -244,14 +245,14 @@ tests:
 #
 .PHONY:	clean
 clean:
-	$(Q) $(RMDIR) $(BUILD_DIR)*.build
-	$(Q) $(REMOVE) $(IMAGE_DIR)*.px4
+	$(Q) $(RMDIR) $(BUILD_DIR)*.build > /dev/null
+	$(Q) $(REMOVE) $(IMAGE_DIR)*.px4 > /dev/null
 
 .PHONY:	distclean
 distclean: clean
-	$(Q) $(REMOVE) $(ARCHIVE_DIR)*.export
-	$(Q) $(MAKE) -C $(NUTTX_SRC) -r $(MQUIET) distclean
-	$(Q) (cd $(NUTTX_SRC)/configs && $(FIND) . -maxdepth 1 -type l -delete)
+	$(Q) $(REMOVE) $(ARCHIVE_DIR)*.export > /dev/null
+	$(Q) $(MAKE) -C $(NUTTX_SRC) -r $(MQUIET) distclean > /dev/null
+	$(Q) (cd $(NUTTX_SRC)/configs && $(FIND) . -maxdepth 1 -type l -delete) > /dev/null
 
 #
 # Print some help text