diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile
index 850d9dfc890e55bc36936ebd8517ec417734ce79..1ebb6f8cfcc1711dd0e190fa7b693fe5614f8ebd 100644
--- a/Bootloaders/CDC/makefile
+++ b/Bootloaders/CDC/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile
index 14cf3a46f779c0e76ece1825aeb47a048a285bec..078597e070b8f00e432bc3c63f2d5cada3ae946e 100644
--- a/Bootloaders/DFU/makefile
+++ b/Bootloaders/DFU/makefile
@@ -689,7 +689,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Bootloaders/HID/makefile b/Bootloaders/HID/makefile
index 853bcade052b57684c332f7c006e759e95d2f3e5..5bbb8708cc80cfdc70c514cae2063ca8551b283d 100644
--- a/Bootloaders/HID/makefile
+++ b/Bootloaders/HID/makefile
@@ -686,7 +686,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/BuildTests/ModuleTest/makefile.avr8 b/BuildTests/ModuleTest/makefile.avr8
index f41470f7a3c49650ac7a955f00e0a6d0ad182d7f..b94ac50e98bcff43f958c81110d11b5ae02c1b48 100644
--- a/BuildTests/ModuleTest/makefile.avr8
+++ b/BuildTests/ModuleTest/makefile.avr8
@@ -707,9 +707,12 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
+
 clean_doxygen:
 	rm -rf Documentation
 
diff --git a/BuildTests/ModuleTest/makefile.uc3 b/BuildTests/ModuleTest/makefile.uc3
index ba3ec10ba388b064ffaf92dd47e224eb6b72e429..3fa866c919de8ff0adfea662387d74b7500a58c5 100644
--- a/BuildTests/ModuleTest/makefile.uc3
+++ b/BuildTests/ModuleTest/makefile.uc3
@@ -481,7 +481,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/BuildTests/ModuleTest/makefile.xmega b/BuildTests/ModuleTest/makefile.xmega
index 054c6c852a7d206cd52e8bbb627fbf5a264ae029..a48cb1bef8489bd2b35b43ec1ef0de702e63aca4 100644
--- a/BuildTests/ModuleTest/makefile.xmega
+++ b/BuildTests/ModuleTest/makefile.xmega
@@ -701,7 +701,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/BuildTests/SingleUSBModeTest/makefile.avr8 b/BuildTests/SingleUSBModeTest/makefile.avr8
index c0c7dbaf9b1d8ff36fd6f007001486b7941e0da2..a7b69b58b7d77b6178c816f683a274bf3f91b1be 100644
--- a/BuildTests/SingleUSBModeTest/makefile.avr8
+++ b/BuildTests/SingleUSBModeTest/makefile.avr8
@@ -691,7 +691,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/BuildTests/SingleUSBModeTest/makefile.uc3 b/BuildTests/SingleUSBModeTest/makefile.uc3
index 33f2ffd2ead56f81802bc3fdfc99c500ad08be0b..4ffaf2872dbae70c94f4ab51a50afda04bab309e 100644
--- a/BuildTests/SingleUSBModeTest/makefile.uc3
+++ b/BuildTests/SingleUSBModeTest/makefile.uc3
@@ -454,7 +454,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/BuildTests/SingleUSBModeTest/makefile.xmega b/BuildTests/SingleUSBModeTest/makefile.xmega
index b56efbfa1d5715fe9fe1aeee029f47c355a3ca81..f594d95b8dbf1a6f6b6c04f84103f154f5c1eb81 100644
--- a/BuildTests/SingleUSBModeTest/makefile.xmega
+++ b/BuildTests/SingleUSBModeTest/makefile.xmega
@@ -673,7 +673,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/BuildTests/StaticAnalysisTest/makefile b/BuildTests/StaticAnalysisTest/makefile
index 744120d87ec94c5bcbc2c5c933c8dc7fa91d3a92..474b259794ccf28067875b6effbbac0043655625 100644
--- a/BuildTests/StaticAnalysisTest/makefile
+++ b/BuildTests/StaticAnalysisTest/makefile
@@ -42,4 +42,5 @@ staticcheck:
 	cppcheck --quiet --inline-suppr --check-config --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
+%:
+	
\ No newline at end of file
diff --git a/Demos/Device/ClassDriver/AudioInput/makefile b/Demos/Device/ClassDriver/AudioInput/makefile
index 1763d552fc41a33ee4ff28540fc0c14ef065921e..439630c6b9ab01fa03d1430befdf77bff3b576ba 100644
--- a/Demos/Device/ClassDriver/AudioInput/makefile
+++ b/Demos/Device/ClassDriver/AudioInput/makefile
@@ -698,7 +698,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/AudioOutput/makefile b/Demos/Device/ClassDriver/AudioOutput/makefile
index e00e3e23f70ac252abc1e6f0224997b309b96cc6..62c0aad4ab6b4c4ce7fd6a2c32687e29f790e0eb 100644
--- a/Demos/Device/ClassDriver/AudioOutput/makefile
+++ b/Demos/Device/ClassDriver/AudioOutput/makefile
@@ -699,7 +699,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/makefile b/Demos/Device/ClassDriver/DualVirtualSerial/makefile
index 922437c231193a0c21fc8be1a993cb64b52022f0..25828e40d05e69ce74789fd01c45d475b3c23205 100644
--- a/Demos/Device/ClassDriver/DualVirtualSerial/makefile
+++ b/Demos/Device/ClassDriver/DualVirtualSerial/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/GenericHID/makefile b/Demos/Device/ClassDriver/GenericHID/makefile
index 05f2c9a3bbfcc15eaa220c69bf69f7d7134d0d0a..e60ce4c159388465fa766bf998b480eec25d5950 100644
--- a/Demos/Device/ClassDriver/GenericHID/makefile
+++ b/Demos/Device/ClassDriver/GenericHID/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/Joystick/makefile b/Demos/Device/ClassDriver/Joystick/makefile
index 559ceb05cf623b6a9ac476c6ce474c8c2c0dc4fb..88bad8e556088000aba38cac0ced5f9af6a1e8f6 100644
--- a/Demos/Device/ClassDriver/Joystick/makefile
+++ b/Demos/Device/ClassDriver/Joystick/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/Keyboard/makefile b/Demos/Device/ClassDriver/Keyboard/makefile
index 064c9c9178641c7cb68519109c6d9472c49ca2c1..1f44e38fd73abda69dca61ebedf58ce876da6d0b 100644
--- a/Demos/Device/ClassDriver/Keyboard/makefile
+++ b/Demos/Device/ClassDriver/Keyboard/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/KeyboardMouse/makefile b/Demos/Device/ClassDriver/KeyboardMouse/makefile
index 430a2b02a59068f1c46253d3d0816ed9ec64e18e..cfb60e78434618f606401b701006ca2bc221d13d 100644
--- a/Demos/Device/ClassDriver/KeyboardMouse/makefile
+++ b/Demos/Device/ClassDriver/KeyboardMouse/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile b/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
index 48613c993eb2c1e308f09ada01cd29e584ad6a88..52566b7ec3873cd248d9c045c22426fa76d1dd36 100644
--- a/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
+++ b/Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/MIDI/makefile b/Demos/Device/ClassDriver/MIDI/makefile
index 910fea1bcf86b360c9185c58f21ff19f31ada46f..b5790490b9709653ed7a507ece1961a5e78d8f52 100644
--- a/Demos/Device/ClassDriver/MIDI/makefile
+++ b/Demos/Device/ClassDriver/MIDI/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/MassStorage/makefile b/Demos/Device/ClassDriver/MassStorage/makefile
index bad1cfa64f2b7dd00d451f5cb5c807834c4beb32..e24d1a2ee3653cbb6aff3f01cd5ab1aefddd1d64 100644
--- a/Demos/Device/ClassDriver/MassStorage/makefile
+++ b/Demos/Device/ClassDriver/MassStorage/makefile
@@ -698,7 +698,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/makefile b/Demos/Device/ClassDriver/MassStorageKeyboard/makefile
index 40cab5e5036b2cd2e302fbba89d9669a9b9cd366..87d40a6a84a3bab590b21ef7c36059b9a92d6ba9 100644
--- a/Demos/Device/ClassDriver/MassStorageKeyboard/makefile
+++ b/Demos/Device/ClassDriver/MassStorageKeyboard/makefile
@@ -698,7 +698,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/Mouse/makefile b/Demos/Device/ClassDriver/Mouse/makefile
index a6c468eb4dbff885ebda1b46782d482ae8f146cd..63d8f464661af3076e80835709c5def67cc9c0c4 100644
--- a/Demos/Device/ClassDriver/Mouse/makefile
+++ b/Demos/Device/ClassDriver/Mouse/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/makefile b/Demos/Device/ClassDriver/RNDISEthernet/makefile
index 6ee3a2738e1c7ebc0f7f9dbb023c68b42e8ed9fb..d50dc3dbc2d1ec6440c8428b209ccff2c99529ab 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/makefile
+++ b/Demos/Device/ClassDriver/RNDISEthernet/makefile
@@ -713,7 +713,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/VirtualSerial/makefile b/Demos/Device/ClassDriver/VirtualSerial/makefile
index 3821c0bdf44a499c5404fd0d9de585f6a387e564..c6127869b1dd4bf68a64128864074546fdb305c9 100644
--- a/Demos/Device/ClassDriver/VirtualSerial/makefile
+++ b/Demos/Device/ClassDriver/VirtualSerial/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/VirtualSerialMassStorage/makefile b/Demos/Device/ClassDriver/VirtualSerialMassStorage/makefile
index e4a7187c1a08943691e24aa967c7d0be2502cb2a..1b211680a3f32fa2008c80125e5995e63fa0d600 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMassStorage/makefile
+++ b/Demos/Device/ClassDriver/VirtualSerialMassStorage/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/makefile b/Demos/Device/ClassDriver/VirtualSerialMouse/makefile
index d85f9b831236f81feb8881b0bd17ca3349b4d6d8..b918197ddf2b76ff58cd951d815a87c1dc3eafd0 100644
--- a/Demos/Device/ClassDriver/VirtualSerialMouse/makefile
+++ b/Demos/Device/ClassDriver/VirtualSerialMouse/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/Incomplete/Sideshow/makefile b/Demos/Device/Incomplete/Sideshow/makefile
index 7b106c806a7e697ce4b4c8f400ccd1980ed80962..eee6cf80712db329d901cecf4c34c24d3bf53d0d 100644
--- a/Demos/Device/Incomplete/Sideshow/makefile
+++ b/Demos/Device/Incomplete/Sideshow/makefile
@@ -699,7 +699,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/Incomplete/TestAndMeasurement/makefile b/Demos/Device/Incomplete/TestAndMeasurement/makefile
index d782f6e3c77fa3ac21a121787dceaba0796cf0f8..ff83d8248372c276b6fa661962de1cc3db73ac11 100644
--- a/Demos/Device/Incomplete/TestAndMeasurement/makefile
+++ b/Demos/Device/Incomplete/TestAndMeasurement/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/AudioInput/makefile b/Demos/Device/LowLevel/AudioInput/makefile
index 20d0785c6e8f56d3d9ea976c584cabab83125806..19be3658e8614c085ac7fb1a14d04f0440e1d108 100644
--- a/Demos/Device/LowLevel/AudioInput/makefile
+++ b/Demos/Device/LowLevel/AudioInput/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/AudioOutput/makefile b/Demos/Device/LowLevel/AudioOutput/makefile
index c28cddf42d95fd827120052fe9d976cd676294b5..604cbf099468fd3ae29dc4227b7ce14cc4b1b672 100644
--- a/Demos/Device/LowLevel/AudioOutput/makefile
+++ b/Demos/Device/LowLevel/AudioOutput/makefile
@@ -698,7 +698,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/DualVirtualSerial/makefile b/Demos/Device/LowLevel/DualVirtualSerial/makefile
index 4c1a625cb8d5c72cf124a4412660bacd4241e8a9..3040859043e0b8934492532404c83f36b4b07ddb 100644
--- a/Demos/Device/LowLevel/DualVirtualSerial/makefile
+++ b/Demos/Device/LowLevel/DualVirtualSerial/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/GenericHID/makefile b/Demos/Device/LowLevel/GenericHID/makefile
index cadac8a24ac236bb45b3a1e60fe23586b947e9a4..3fb2175e1509b09738a119adf84b8c7740c1f63f 100644
--- a/Demos/Device/LowLevel/GenericHID/makefile
+++ b/Demos/Device/LowLevel/GenericHID/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/Joystick/makefile b/Demos/Device/LowLevel/Joystick/makefile
index 2faa0709197d24e5165dc6d77526e0f2cbee7c1c..b16fc5a02c8f3b695cf5d270bc0d2c0a02d1dc5c 100644
--- a/Demos/Device/LowLevel/Joystick/makefile
+++ b/Demos/Device/LowLevel/Joystick/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/Keyboard/makefile b/Demos/Device/LowLevel/Keyboard/makefile
index 6cc717b1c98b113f8192ef549f7025df8af27586..44de3a8cbd11420f73f03c9ae0a458d6f0a4f3f1 100644
--- a/Demos/Device/LowLevel/Keyboard/makefile
+++ b/Demos/Device/LowLevel/Keyboard/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/KeyboardMouse/makefile b/Demos/Device/LowLevel/KeyboardMouse/makefile
index 7bbb9cd36e4a81ea586f24238e4a6c6ac6c144b4..7a38dfc44da86b5d3ea4f00a4a8296442d5fb588 100644
--- a/Demos/Device/LowLevel/KeyboardMouse/makefile
+++ b/Demos/Device/LowLevel/KeyboardMouse/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/MIDI/makefile b/Demos/Device/LowLevel/MIDI/makefile
index 0281d4a5d5863f221b2199b5b194120b1bdc2cd9..140b1050a0b266b7469ceb495648ac47158efaba 100644
--- a/Demos/Device/LowLevel/MIDI/makefile
+++ b/Demos/Device/LowLevel/MIDI/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/MassStorage/makefile b/Demos/Device/LowLevel/MassStorage/makefile
index a6b2f56703f9cebf099dc9693ead5ed468c72cba..f7fa7153034efed41bc50c5f6de36756c132ed07 100644
--- a/Demos/Device/LowLevel/MassStorage/makefile
+++ b/Demos/Device/LowLevel/MassStorage/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/Mouse/makefile b/Demos/Device/LowLevel/Mouse/makefile
index adb6d6be64784234295369dc0592309d5d9bd884..5a5dd99e82b08ceaf49ec7f73140dc009c7d1bc8 100644
--- a/Demos/Device/LowLevel/Mouse/makefile
+++ b/Demos/Device/LowLevel/Mouse/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/RNDISEthernet/makefile b/Demos/Device/LowLevel/RNDISEthernet/makefile
index 99c7e33246c3667a8a91eebd5b5a85c59b9ab068..afc5cdcc750b451ff47808a0d7dba719ec62ce9e 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/makefile
+++ b/Demos/Device/LowLevel/RNDISEthernet/makefile
@@ -713,7 +713,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Device/LowLevel/VirtualSerial/makefile b/Demos/Device/LowLevel/VirtualSerial/makefile
index a5e0230b3683e02e6053ca72ffc31801b4148ca0..fdef673b454c76e9ec1a8c2d89f852f1bc635e4e 100644
--- a/Demos/Device/LowLevel/VirtualSerial/makefile
+++ b/Demos/Device/LowLevel/VirtualSerial/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/makefile b/Demos/DualRole/ClassDriver/MouseHostDevice/makefile
index 488b591706ab6026424b7f27cb1a52a8bb46d4f2..fddf476c76671b9a77fd11e70cd425745a7e8f2f 100644
--- a/Demos/DualRole/ClassDriver/MouseHostDevice/makefile
+++ b/Demos/DualRole/ClassDriver/MouseHostDevice/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/AndroidAccessoryHost/makefile b/Demos/Host/ClassDriver/AndroidAccessoryHost/makefile
index a54879ffc91eb9f1f1a32a8ca88db26188bb797c..6aec035414b00653f8396f596aec4e60db0d5bdb 100644
--- a/Demos/Host/ClassDriver/AndroidAccessoryHost/makefile
+++ b/Demos/Host/ClassDriver/AndroidAccessoryHost/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/AudioInputHost/makefile b/Demos/Host/ClassDriver/AudioInputHost/makefile
index 09283074e63c6c025825bfe5c6edab6563efb8b9..8ba2b734c58d56274db05aec852544eddb4e6e51 100644
--- a/Demos/Host/ClassDriver/AudioInputHost/makefile
+++ b/Demos/Host/ClassDriver/AudioInputHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/AudioOutputHost/makefile b/Demos/Host/ClassDriver/AudioOutputHost/makefile
index 8b3d886a68b15d91e2930689b9bc6fa0dab78bc2..1acda4501253d8e9a48f445b5d9d478a1956c74e 100644
--- a/Demos/Host/ClassDriver/AudioOutputHost/makefile
+++ b/Demos/Host/ClassDriver/AudioOutputHost/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/makefile b/Demos/Host/ClassDriver/JoystickHostWithParser/makefile
index 8829ab81347f42924d00c4c8959c55f6d4fef36e..1fa6d1355ef9dc97f62b3f3444ac27fe2007eb6a 100644
--- a/Demos/Host/ClassDriver/JoystickHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/JoystickHostWithParser/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/KeyboardHost/makefile b/Demos/Host/ClassDriver/KeyboardHost/makefile
index 854e98d2ad47f510d49f5c21a1b5d3417e29672e..760aad6926da52c7beffbdd2ad25715a5b2f2621 100644
--- a/Demos/Host/ClassDriver/KeyboardHost/makefile
+++ b/Demos/Host/ClassDriver/KeyboardHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
index be1380201d6ceb5b3ea13dc81ff7f18b93608816..4a137483fbd2ed48859e2317a17f01614cef432d 100644
--- a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/MIDIHost/makefile b/Demos/Host/ClassDriver/MIDIHost/makefile
index 371772b9ece1999d7c8c1b88320ec33e66a7a5bb..b346a2057fb2cc180c09326a31fe174ea1089af6 100644
--- a/Demos/Host/ClassDriver/MIDIHost/makefile
+++ b/Demos/Host/ClassDriver/MIDIHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/MassStorageHost/makefile b/Demos/Host/ClassDriver/MassStorageHost/makefile
index c3aae340b0c7045b4f4a8c843ccd3951ebf85bbb..9b166caaf03eaae4df628afe389217af1449e3b7 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/makefile
+++ b/Demos/Host/ClassDriver/MassStorageHost/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/MouseHost/makefile b/Demos/Host/ClassDriver/MouseHost/makefile
index 26bb66143b1555ff218eabba012cbf2789abe1e1..260b6e47b5d05f7215dcd0eb43279e9835ac2e03 100644
--- a/Demos/Host/ClassDriver/MouseHost/makefile
+++ b/Demos/Host/ClassDriver/MouseHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/makefile b/Demos/Host/ClassDriver/MouseHostWithParser/makefile
index b4509c871ba5deb12c1bd901434279c284197c8c..cb8da5e9585ff7b3c9ba42a5bad0465f61a15ede 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/makefile
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/PrinterHost/makefile b/Demos/Host/ClassDriver/PrinterHost/makefile
index e61f4ef18f96c4c5b999c459798768aec6c84ef3..63bf5f444f378ba64f123a9ffb26b1a676fdb430 100644
--- a/Demos/Host/ClassDriver/PrinterHost/makefile
+++ b/Demos/Host/ClassDriver/PrinterHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/makefile b/Demos/Host/ClassDriver/RNDISEthernetHost/makefile
index 66fff0d92acfcc97a06ceefeddaaf8eee57d1447..5c6885265a530b8ce8d646a6597e8d3122393966 100644
--- a/Demos/Host/ClassDriver/RNDISEthernetHost/makefile
+++ b/Demos/Host/ClassDriver/RNDISEthernetHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/StillImageHost/makefile b/Demos/Host/ClassDriver/StillImageHost/makefile
index f0d6f3ab1ac69c3ffba0e9b2c04f70ce679791fe..45b44caf7e4189ea737e1bddfbe94b6483abd102 100644
--- a/Demos/Host/ClassDriver/StillImageHost/makefile
+++ b/Demos/Host/ClassDriver/StillImageHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/ClassDriver/VirtualSerialHost/makefile b/Demos/Host/ClassDriver/VirtualSerialHost/makefile
index b313f278cabf8ab9c0b48035351a761c96f9f901..9fa9928387fc0905748ecd2ebe91ffa14822ffef 100644
--- a/Demos/Host/ClassDriver/VirtualSerialHost/makefile
+++ b/Demos/Host/ClassDriver/VirtualSerialHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/Incomplete/BluetoothHost/makefile b/Demos/Host/Incomplete/BluetoothHost/makefile
index b6b23397125775f1e7396a23fc77623f44484437..1b3b479b07e5a2dc1ada7b1f0f2cd8406c46ebf0 100644
--- a/Demos/Host/Incomplete/BluetoothHost/makefile
+++ b/Demos/Host/Incomplete/BluetoothHost/makefile
@@ -701,7 +701,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/AndroidAccessoryHost/makefile b/Demos/Host/LowLevel/AndroidAccessoryHost/makefile
index 55e6645c743bf0e8dee291cf63ed3cbe248756b9..c4d435a311da942da957249c4445be53eb8d1462 100644
--- a/Demos/Host/LowLevel/AndroidAccessoryHost/makefile
+++ b/Demos/Host/LowLevel/AndroidAccessoryHost/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/AudioInputHost/makefile b/Demos/Host/LowLevel/AudioInputHost/makefile
index d19c3b9d2c3273d5331cce5369d610b943bccdec..01764ba1e4f66995fe05bd3251b723c8eb63962c 100644
--- a/Demos/Host/LowLevel/AudioInputHost/makefile
+++ b/Demos/Host/LowLevel/AudioInputHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/AudioOutputHost/makefile b/Demos/Host/LowLevel/AudioOutputHost/makefile
index c1f16d170a8a39dffceca9b8f7c12c839a34c2b7..42f7392a68edd6a1bbffc1dc0ca420b99581279a 100644
--- a/Demos/Host/LowLevel/AudioOutputHost/makefile
+++ b/Demos/Host/LowLevel/AudioOutputHost/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/GenericHIDHost/makefile b/Demos/Host/LowLevel/GenericHIDHost/makefile
index 2b5fd3cde60efb045d9e189dd821c9f9e4f6a68d..18ef6dbb9f3b8b9ab036be1443ac7db8c31a6afe 100644
--- a/Demos/Host/LowLevel/GenericHIDHost/makefile
+++ b/Demos/Host/LowLevel/GenericHIDHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/makefile b/Demos/Host/LowLevel/JoystickHostWithParser/makefile
index ad4717d83367a99642e2ef2826fcf0db3a4eeb19..3775eb00d2e0d9666dea47554c3ca5705c0b54b2 100644
--- a/Demos/Host/LowLevel/JoystickHostWithParser/makefile
+++ b/Demos/Host/LowLevel/JoystickHostWithParser/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/KeyboardHost/makefile b/Demos/Host/LowLevel/KeyboardHost/makefile
index f2e6ac306efd9fb92ca32b9dbfc8d95e6aa493d2..f5eb441e7c34dd94463670dd534cc5cfbeca6c5a 100644
--- a/Demos/Host/LowLevel/KeyboardHost/makefile
+++ b/Demos/Host/LowLevel/KeyboardHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile
index c33b9297c2c60ca87bc0f348185f9221b7141a0b..63ada8b5ce87d0e1fa66fdff6e9ee2d9e4decd10 100644
--- a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile
+++ b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/MIDIHost/makefile b/Demos/Host/LowLevel/MIDIHost/makefile
index 3daa0cec48ddab4defea7bf240b847298f080e01..5881bace1a5c91d75d56514465b7f65c4940bcaf 100644
--- a/Demos/Host/LowLevel/MIDIHost/makefile
+++ b/Demos/Host/LowLevel/MIDIHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/MassStorageHost/makefile b/Demos/Host/LowLevel/MassStorageHost/makefile
index da4bb76ba8c83f2085500c25b494417d2f75e2a8..c4860611a3c9eb6354e3e5abdee9b648236b6002 100644
--- a/Demos/Host/LowLevel/MassStorageHost/makefile
+++ b/Demos/Host/LowLevel/MassStorageHost/makefile
@@ -694,7 +694,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/MouseHost/makefile b/Demos/Host/LowLevel/MouseHost/makefile
index 9e7fc90cc048c3da8e74349d0b0958eac66ad908..8b37064768125f2a8f4cbb02366898034123714e 100644
--- a/Demos/Host/LowLevel/MouseHost/makefile
+++ b/Demos/Host/LowLevel/MouseHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/makefile b/Demos/Host/LowLevel/MouseHostWithParser/makefile
index 46d2fadfc95be7308bfc0688f6e0c2073a75bfc6..c5df80e31d4502a1e9090e7a2459cc58907b7008 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/makefile
+++ b/Demos/Host/LowLevel/MouseHostWithParser/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/PrinterHost/makefile b/Demos/Host/LowLevel/PrinterHost/makefile
index c30fb650a57b79848a8862d051e84b0cf294c7e6..42b7a77b0ba49cffff7c4a4cd1c3ab3ae75ccd6d 100644
--- a/Demos/Host/LowLevel/PrinterHost/makefile
+++ b/Demos/Host/LowLevel/PrinterHost/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/makefile b/Demos/Host/LowLevel/RNDISEthernetHost/makefile
index d640a40536b7a6f213ca8ee1689030a232536660..0830199ff680d7d247b817ace64e7ca7ec316ef9 100644
--- a/Demos/Host/LowLevel/RNDISEthernetHost/makefile
+++ b/Demos/Host/LowLevel/RNDISEthernetHost/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/StillImageHost/makefile b/Demos/Host/LowLevel/StillImageHost/makefile
index 9aabddd4e27f9835af0cbc05d1e1ad1d950c0bef..09e3f59c8b68f4c4a6943ce7a5b5985602c7cc78 100644
--- a/Demos/Host/LowLevel/StillImageHost/makefile
+++ b/Demos/Host/LowLevel/StillImageHost/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Demos/Host/LowLevel/VirtualSerialHost/makefile b/Demos/Host/LowLevel/VirtualSerialHost/makefile
index 2daa5ea991540c5652bb080df150887de0e685cd..21e94637d1b780ed1fbd366d17bd647d18a8b10d 100644
--- a/Demos/Host/LowLevel/VirtualSerialHost/makefile
+++ b/Demos/Host/LowLevel/VirtualSerialHost/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/LUFA/CodeTemplates/makefile_template.avr8 b/LUFA/CodeTemplates/makefile_template.avr8
index 7fd19390bb3de2146681ec4a0e21fc01da354e18..7f8534a3bd58096ce7c3fe156df4cb65a1a381c7 100644
--- a/LUFA/CodeTemplates/makefile_template.avr8
+++ b/LUFA/CodeTemplates/makefile_template.avr8
@@ -683,7 +683,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/LUFA/CodeTemplates/makefile_template.uc3 b/LUFA/CodeTemplates/makefile_template.uc3
index 647a956c8f6799d808763a92011f7d4aea2da72a..78fd9f69cb716b9691d128cefc40bd097f838632 100644
--- a/LUFA/CodeTemplates/makefile_template.uc3
+++ b/LUFA/CodeTemplates/makefile_template.uc3
@@ -456,7 +456,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/LUFA/CodeTemplates/makefile_template.xmega b/LUFA/CodeTemplates/makefile_template.xmega
index 3c09effcae49b06fcb2da2ac049771d242c1aadf..8c0f0db6cc8ed52b3c8a9e1d2cd99e7263517562 100644
--- a/LUFA/CodeTemplates/makefile_template.xmega
+++ b/LUFA/CodeTemplates/makefile_template.xmega
@@ -675,7 +675,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/LUFA/makefile b/LUFA/makefile
index bfe9b8a04611c170da86dc72c50547493aa4fafd..9e68d3cb3cfb281a1fcee8c5283e6009564af242 100644
--- a/LUFA/makefile
+++ b/LUFA/makefile
@@ -77,7 +77,11 @@ ifeq ($(origin LUFA_PATH), undefined)
 
    doxygen:
 	@echo Generating LUFA Library Documentation...
-	( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen -
+
+	@if ( ( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen - 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
+
 	@echo Documentation Generation Complete.
 
    clean_doxygen:
diff --git a/Projects/AVRISP-MKII/makefile b/Projects/AVRISP-MKII/makefile
index 475ec714618fa9fd020ac80dbb26a7ca279af7ed..d83fe1d64edd79ed0f7025af88c1348e0cfa737b 100644
--- a/Projects/AVRISP-MKII/makefile
+++ b/Projects/AVRISP-MKII/makefile
@@ -724,7 +724,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/Benito/makefile b/Projects/Benito/makefile
index d1955e380b8b2131f3fde3ab5b2d6025a0ac37cc..eb8b9a34a0170d477d206f896667200c5b9647f6 100644
--- a/Projects/Benito/makefile
+++ b/Projects/Benito/makefile
@@ -706,7 +706,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/HIDReportViewer/makefile b/Projects/HIDReportViewer/makefile
index a39e93337820b7fc04b1d1692f137cba1fb1c53b..e4e0193ae8882b40aa9c15359018e75ac00b0058 100644
--- a/Projects/HIDReportViewer/makefile
+++ b/Projects/HIDReportViewer/makefile
@@ -692,7 +692,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/Incomplete/StandaloneProgrammer/makefile b/Projects/Incomplete/StandaloneProgrammer/makefile
index f56969701b94fde8677d575f668ef16123776e97..6b9b763c214482318e02638c7081000c91ea22fb 100644
--- a/Projects/Incomplete/StandaloneProgrammer/makefile
+++ b/Projects/Incomplete/StandaloneProgrammer/makefile
@@ -706,7 +706,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/LEDNotifier/makefile b/Projects/LEDNotifier/makefile
index 6abe713f1cf005997eee13f5c4e08b65b5ed8996..cde0b4e24f1c7ad35425b116866cde59e3bb0f28 100644
--- a/Projects/LEDNotifier/makefile
+++ b/Projects/LEDNotifier/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/MIDIToneGenerator/makefile b/Projects/MIDIToneGenerator/makefile
index 768b61253d39aeff393b52812b48f2c7b8589a58..60963e49cc63d8048379d04a8d75fa85f9187c82 100644
--- a/Projects/MIDIToneGenerator/makefile
+++ b/Projects/MIDIToneGenerator/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/Magstripe/makefile b/Projects/Magstripe/makefile
index 22442bcf875f1a6b7f6b4e8a18cefc2614fd9d94..9184d9109268c3b1f94c36dadb6a3caccffe9dc4 100644
--- a/Projects/Magstripe/makefile
+++ b/Projects/Magstripe/makefile
@@ -709,7 +709,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/MediaController/makefile b/Projects/MediaController/makefile
index 9efa473d97d6dd1af12960ade6b8c8bdd9a5da58..98eeb5b3bd4b27ed6caadd6e2d8eada34756a28f 100644
--- a/Projects/MediaController/makefile
+++ b/Projects/MediaController/makefile
@@ -695,7 +695,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/MissileLauncher/makefile b/Projects/MissileLauncher/makefile
index 45f438a3741ba3794a689d6928e092752c03c0a0..3de086271e57361098676f6e87488ac2a93a177f 100644
--- a/Projects/MissileLauncher/makefile
+++ b/Projects/MissileLauncher/makefile
@@ -693,7 +693,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/RelayBoard/makefile b/Projects/RelayBoard/makefile
index 1ea3902acf4d469a8327ed85970b3546997300af..5ff62f98d57a8cfcea44d522557fb95e21129781 100644
--- a/Projects/RelayBoard/makefile
+++ b/Projects/RelayBoard/makefile
@@ -697,7 +697,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/TempDataLogger/makefile b/Projects/TempDataLogger/makefile
index d0917fb427f067114ff6f586dc16b54bb1ed8566..f79398af98651c2e8ea3a13799aae13956d3e340 100644
--- a/Projects/TempDataLogger/makefile
+++ b/Projects/TempDataLogger/makefile
@@ -706,7 +706,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/USBtoSerial/makefile b/Projects/USBtoSerial/makefile
index ed2b825f83d3a957233f49e606ef3881c93813d0..64f625da688c0011fc194b479141fdd546372195 100644
--- a/Projects/USBtoSerial/makefile
+++ b/Projects/USBtoSerial/makefile
@@ -698,7 +698,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/Webserver/makefile b/Projects/Webserver/makefile
index a8724412ec64b01ef4e09127f59b38a9bb4eb6d6..7866604e1ff6fa8c30a075a0128f5eb1fb5bdfeb 100644
--- a/Projects/Webserver/makefile
+++ b/Projects/Webserver/makefile
@@ -736,7 +736,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen:
diff --git a/Projects/XPLAINBridge/makefile b/Projects/XPLAINBridge/makefile
index 28e47eb79d6e06ce84276d629f352766de615413..c6de2769fbd207f073169456b0f144c620096df2 100644
--- a/Projects/XPLAINBridge/makefile
+++ b/Projects/XPLAINBridge/makefile
@@ -723,7 +723,9 @@ clean_list :
 
 doxygen:
 	@echo Generating Project Documentation \($(TARGET)\)...
-	@doxygen Doxygen.conf
+	@if ( doxygen Doxygen.conf 2>&1 | grep "warning" ;); then \
+	  exit 1; \
+	fi;
 	@echo Documentation Generation Complete.
 
 clean_doxygen: