diff --git a/LUFA/Build/lufa.avrdude.in b/LUFA/Build/lufa.avrdude.in
index 52cb44b8d7ed9eeecf412a32e041e1f2baf4f449..a0bef19cc1d5a7d22e404d64d13310d57a613592 100644
--- a/LUFA/Build/lufa.avrdude.in
+++ b/LUFA/Build/lufa.avrdude.in
@@ -39,8 +39,15 @@ LUFA_BUILD_OPTIONAL_VARS  += AVRDUDE_PROGRAMMER AVRDUDE_PORT AVRDUDE_FLAGS
 # -----------------------------------------------------------------------------
 
 # Sanity-check values of mandatory user-supplied variables
-MCU                ?= $(error Makefile MCU value not set.)
-TARGET             ?= $(error Makefile TARGET value not set.)
+MCU                ?= $(error Makefile MCU value not set)
+TARGET             ?= $(error Makefile TARGET value not set)
+
+ifeq ($(MCU),)
+   $(error Makefile MCU option cannot be blank)
+endif
+ifeq ($(TARGET),)
+   $(error Makefile TARGET option cannot be blank)
+endif
 
 # Default values of optionally user-supplied variables
 AVRDUDE_PROGRAMMER ?= jtagicemkii
diff --git a/LUFA/Build/lufa.build.in b/LUFA/Build/lufa.build.in
index a8569a6ce303706f1108fb51e15c60e559e01540..115763ab46bbb22a10759f8808a1dc87aa7a6fa5 100644
--- a/LUFA/Build/lufa.build.in
+++ b/LUFA/Build/lufa.build.in
@@ -54,12 +54,25 @@ LUFA_BUILD_OPTIONAL_VARS  += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_
 # -----------------------------------------------------------------------------
 
 # Sanity-check values of mandatory user-supplied variables
-MCU            ?= $(error Makefile MCU value not set.)
-TARGET         ?= $(error Makefile TARGET value not set.)
-ARCH           ?= $(error Makefile ARCH value not set.)
-SRC            ?= $(error Makefile SRC value not set.)
-F_USB          ?= $(error Makefile F_USB value not set.)
-LUFA_PATH      ?= $(error Makefile LUFA_PATH value not set.)
+MCU            ?= $(error Makefile MCU value not set)
+TARGET         ?= $(error Makefile TARGET value not set)
+ARCH           ?= $(error Makefile ARCH value not set)
+SRC            ?= $(error Makefile SRC value not set)
+F_USB          ?= $(error Makefile F_USB value not set)
+LUFA_PATH      ?= $(error Makefile LUFA_PATH value not set)
+
+ifeq ($(MCU),)
+   $(error Makefile MCU option cannot be blank)
+endif
+ifeq ($(TARGET),)
+   $(error Makefile TARGET option cannot be blank)
+endif
+ifeq ($(ARCH),)
+   $(error Makefile ARCH option cannot be blank)
+endif
+ifeq ($(F_USB),)
+   $(error Makefile F_USB option cannot be blank)
+endif
 
 # Default values of optionally user-supplied variables
 BOARD          ?= NONE
@@ -80,7 +93,7 @@ else ifeq ($(ARCH), XMEGA)
 else ifeq ($(ARCH), UC3)
    CROSS       := avr32-
 else
-    $(error Unsupported architecture.)
+    $(error Unsupported architecture "$(ARCH)".)
 endif
 
 # Output Messages
diff --git a/LUFA/Build/lufa.dfu.in b/LUFA/Build/lufa.dfu.in
index 91922d0cb15f4fd78d92453a682f0bff0f4ba6b2..33b5b7dc006a9504279d2087e1b64f6f47166d2e 100644
--- a/LUFA/Build/lufa.dfu.in
+++ b/LUFA/Build/lufa.dfu.in
@@ -37,8 +37,15 @@ LUFA_BUILD_OPTIONAL_VARS  +=
 # -----------------------------------------------------------------------------
 
 # Sanity-check values of mandatory user-supplied variables
-MCU            ?= $(error Makefile MCU value not set.)
-TARGET         ?= $(error Makefile TARGET value not set.)
+MCU            ?= $(error Makefile MCU value not set)
+TARGET         ?= $(error Makefile TARGET value not set)
+
+ifeq ($(MCU),)
+   $(error Makefile MCU option cannot be blank)
+endif
+ifeq ($(TARGET),)
+   $(error Makefile TARGET option cannot be blank)
+endif
 
 # Output Messages
 MSG_COPY_CMD   := ' [CP]      :'
diff --git a/LUFA/Build/lufa.doxygen.in b/LUFA/Build/lufa.doxygen.in
index 0a6ad6e258463d9da97ab40740bdb8a1ab687f67..1a5ede8e9fad56cb3021c559406b6628c583c2e9 100644
--- a/LUFA/Build/lufa.doxygen.in
+++ b/LUFA/Build/lufa.doxygen.in
@@ -36,7 +36,7 @@ LUFA_BUILD_OPTIONAL_VARS  += DOXYGEN_CONF DOXYGEN_FAIL_ON_WARNING DOXYGEN_OVERRI
 # -----------------------------------------------------------------------------
 
 # Sanity-check values of mandatory user-supplied variables
-LUFA_PATH               ?= $(error Makefile LUFA_PATH value not set.)
+LUFA_PATH               ?= $(error Makefile LUFA_PATH value not set)
 
 # Default values of optionally user-supplied variables
 DOXYGEN_CONF            ?= Doxygen.conf
diff --git a/LUFA/Build/lufa.sources.in b/LUFA/Build/lufa.sources.in
index c189e792f4d9d61f03d92b7485168a1728407746..47cda0c99db57657c4428e64114afda39ed470e8 100644
--- a/LUFA/Build/lufa.sources.in
+++ b/LUFA/Build/lufa.sources.in
@@ -36,8 +36,12 @@ LUFA_BUILD_OPTIONAL_VARS  +=
 # -----------------------------------------------------------------------------
 
 # Sanity-check values of mandatory user-supplied variables
-ARCH           ?= $(error Makefile ARCH value not set.)
-LUFA_PATH      ?= $(error Makefile LUFA_PATH value not set.)
+ARCH           ?= $(error Makefile ARCH value not set)
+LUFA_PATH      ?= $(error Makefile LUFA_PATH value not set)
+
+ifeq ($(ARCH),)
+   $(error Makefile ARCH option cannot be blank)
+endif
 
 # Allow LUFA_ROOT_PATH to be overridden elsewhere to support legacy LUFA makefiles
 LUFA_ROOT_PATH ?= $(patsubst %/,%,$(LUFA_PATH))