diff --git a/Bootloaders/HID/HostLoaderApp/hid_bootloader_cli.c b/Bootloaders/HID/HostLoaderApp/hid_bootloader_cli.c
index 4fd6ccf1f197b4bb84596ab265eed6d1d4175ba1..200f406827307bbe36da06803865601b569b0bb9 100644
--- a/Bootloaders/HID/HostLoaderApp/hid_bootloader_cli.c
+++ b/Bootloaders/HID/HostLoaderApp/hid_bootloader_cli.c
@@ -195,7 +195,9 @@ usb_dev_handle * open_usb_device(int vid, int pid)
 	struct usb_bus *bus;
 	struct usb_device *dev;
 	usb_dev_handle *h;
+	#ifdef LIBUSB_HAS_GET_DRIVER_NP
 	char buf[128];
+	#endif
 	int r;
 
 	usb_init();
@@ -390,7 +392,6 @@ int write_usb_device(HANDLE h, void *buf, int len, int timeout)
 		if (r != WAIT_OBJECT_0) return 0;
 	}
 	if (!GetOverlappedResult(h, &ov, &n, FALSE)) return 0;
-	if (n <= 0) return 0;
 	return 1;
 }
 
diff --git a/BuildTests/ModuleTest/makefile b/BuildTests/ModuleTest/makefile
index 1930eddc16b9e017508c180052e532cbd019aafd..d80e2a2ac5478d7f7e5a01e0ff8c94e4f290b56b 100644
--- a/BuildTests/ModuleTest/makefile
+++ b/BuildTests/ModuleTest/makefile
@@ -22,7 +22,7 @@ UC3_FAMILIES   = uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
 DEVICE_FAMILIES = $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
 
 
-all: begin $(DEVICE_FAMILIES) end
+all: begin $(DEVICE_FAMILIES) clean end
 
 begin:
 	@echo Executing build test "ModuleTest".
@@ -33,21 +33,21 @@ end:
 	@echo
 
 %.avr8:
-	$(MAKE) -f makefile.avr8 clean
-	$(MAKE) -f makefile.avr8 all MCU=$(@:%.avr8=%)
+	$(MAKE) -f makefile.avr8 clean -s
+	$(MAKE) -f makefile.avr8 all MCU=$(@:%.avr8=%) -s
 
 %.xmega:
-	$(MAKE) -f makefile.xmega clean
-	$(MAKE) -f makefile.xmega all MCU=$(@:%.xmega=%)
+	$(MAKE) -f makefile.xmega clean -s
+	$(MAKE) -f makefile.xmega all MCU=$(@:%.xmega=%) -s
 
 %.uc3:
-	$(MAKE) -f makefile.uc3 clean
-	$(MAKE) -f makefile.uc3 all MCU=$(@:%.uc3=%)
+	$(MAKE) -f makefile.uc3 clean -s
+	$(MAKE) -f makefile.uc3 all MCU=$(@:%.uc3=%) -s
 
 clean:
-	$(MAKE) -f makefile.avr8 clean
-	$(MAKE) -f makefile.xmega clean
-	$(MAKE) -f makefile.uc3 clean
+	$(MAKE) -f makefile.avr8 clean -s
+	$(MAKE) -f makefile.xmega clean -s
+	$(MAKE) -f makefile.uc3 clean -s
 
 %:
 	
\ No newline at end of file
diff --git a/BuildTests/SingleUSBModeTest/makefile b/BuildTests/SingleUSBModeTest/makefile
index c147d6236c0941cb3f4f54ce01d71dd4bb75636a..701a4b930d63dadd6b7e1f86470b3bfcd95e38f8 100644
--- a/BuildTests/SingleUSBModeTest/makefile
+++ b/BuildTests/SingleUSBModeTest/makefile
@@ -12,30 +12,34 @@
 # all module headers in a simple C and C++
 # application.
 
-all:
+all: begin compile clean end
+
+begin:
 	@echo Executing build test "SingleUSBModeTest".
 	@echo
 
-	$(MAKE) -f makefile.avr8 clean
-	$(MAKE) -f makefile.avr8 LUFA_OPTS='-D USB_DEVICE_ONLY'
-	$(MAKE) -f makefile.avr8 clean
-	$(MAKE) -f makefile.avr8 LUFA_OPTS='-D USB_HOST_ONLY'
+end:
+	@echo Build test "SingleUSBModeTest" complete.
+	@echo
 
-	$(MAKE) -f makefile.xmega clean
-	$(MAKE) -f makefile.xmega LUFA_OPTS='-D USB_DEVICE_ONLY'
+compile:
+	$(MAKE) -f makefile.avr8 clean -s
+	$(MAKE) -f makefile.avr8 LUFA_OPTS='-D USB_DEVICE_ONLY' -s
+	$(MAKE) -f makefile.avr8 clean -s
+	$(MAKE) -f makefile.avr8 LUFA_OPTS='-D USB_HOST_ONLY' -s
 
-	$(MAKE) -f makefile.uc3 clean
-	$(MAKE) -f makefile.uc3 LUFA_OPTS='-D USB_DEVICE_ONLY'
-	$(MAKE) -f makefile.uc3 clean
-	$(MAKE) -f makefile.uc3 LUFA_OPTS='-D USB_HOST_ONLY'
+	$(MAKE) -f makefile.xmega clean -s
+	$(MAKE) -f makefile.xmega LUFA_OPTS='-D USB_DEVICE_ONLY' -s
 
-	@echo Build test "SingleUSBModeTest" complete.
-	@echo
+	$(MAKE) -f makefile.uc3 clean -s
+	$(MAKE) -f makefile.uc3 LUFA_OPTS='-D USB_DEVICE_ONLY' -s
+	$(MAKE) -f makefile.uc3 clean -s
+	$(MAKE) -f makefile.uc3 LUFA_OPTS='-D USB_HOST_ONLY' -s
 
 clean:
-	$(MAKE) -f makefile.avr8 clean
-	$(MAKE) -f makefile.xmega clean
-	$(MAKE) -f makefile.uc3 clean
+	$(MAKE) -f makefile.avr8 clean -s
+	$(MAKE) -f makefile.xmega clean -s
+	$(MAKE) -f makefile.uc3 clean -s
 
 %:
 	
\ No newline at end of file
diff --git a/BuildTests/StaticAnalysisTest/makefile b/BuildTests/StaticAnalysisTest/makefile
index 44c7d5f820592082ad1d704bfa946d17f0eae730..8b15a71591f3b29c710c972281e789cc362c6a7c 100644
--- a/BuildTests/StaticAnalysisTest/makefile
+++ b/BuildTests/StaticAnalysisTest/makefile
@@ -9,19 +9,36 @@
 # Static anlysis of the entire LUFA source tree, using the free cross-platform "cppcheck" tool.
 
 # Path to the root of the LUFA tree to scan
-LUFA_ROOT_PATH    = ../../
+LUFA_ROOT_PATH    = ../..
 
 # Filenames or directories (including fragments) to exclude from the analysis
-EXCLUDE_LIST      = HostLoaderApp/ FATFs/ PetiteFATFs/ uip/
+EXCLUDE_LIST      = FATFs/            \
+                    PetiteFATFs/      \
+					uip/
 
 # Output message template for found warnings and errors
-MESSAGE_TEMPLATE  = "{file}({line}): {severity} ({id}): {message}"
+MESSAGE_TEMPLATE  = "{file}:{line}: {severity} ({id}): {message}"
 
 # Checks to suppress so that generated warnings are discarded
-SUPPRESS_WARNINGS = variableScope unusedFunction missingInclude
+SUPPRESS_WARNINGS = variableScope     \
+                    unusedFunction
 
-all:
-	cppcheck -q --std=c99 --check-config $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)
-	cppcheck -q -f --std=c99 --error-exitcode=1 --inline-suppr --enable=all $(SUPPRESS_WARNINGS:%=--suppress=%) --template $(MESSAGE_TEMPLATE) $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)
+# Extra paths to search for include files
+INCLUDE_PATHS     = $(LUFA_ROOT_PATH)/LUFA/CodeTemplates/
+
+
+all: begin staticcheck end
+
+begin:
+	@echo Executing build test "StaticAnalysisTest".
+	@echo
+
+end:
+	@echo Build test "StaticAnalysisTest" complete.
+	@echo
+
+staticcheck:
+	cppcheck --quiet --inline-suppr --check-config $(SUPPRESS_WARNINGS:%=--suppress=%) --template=$(MESSAGE_TEMPLATE) $(INCLUDE_PATHS:%=-I%) $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)
+	cppcheck --quiet --inline-suppr --error-exitcode=1 --std=c99 --force --enable=all --inconclusive $(SUPPRESS_WARNINGS:%=--suppress=%) --template=$(MESSAGE_TEMPLATE) $(INCLUDE_PATHS:%=-I%) $(EXCLUDE_LIST:%=-i%) $(LUFA_ROOT_PATH)
 	
 %:
\ No newline at end of file
diff --git a/Projects/XPLAINBridge/XPLAINBridge.h b/Projects/XPLAINBridge/XPLAINBridge.h
index ea1b77b71945b9bdfac5bf2106510e3846b38156..f5c86c2f476a6416ef4e1c4f339909a80beebf31 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.h
+++ b/Projects/XPLAINBridge/XPLAINBridge.h
@@ -45,9 +45,10 @@
 
 		#include "AVRISPDescriptors.h"
 		#include "USARTDescriptors.h"
-
-		#include "Lib/SoftUART.h"
+		
+		// cppcheck-suppress missingInclude
 		#include "Lib/V2Protocol.h"
+		#include "Lib/SoftUART.h"
 
 		#include <LUFA/Version.h>
 		#include <LUFA/Drivers/Board/LEDs.h>