diff --git a/LUFA/Build/lufa_build.mk b/LUFA/Build/lufa_build.mk
index 1aae2a388900ad012d9b09cf2dcacd28ddb7dd5b..d20493ea2d3ff76429d28916e4e39a7279fc1429 100644
--- a/LUFA/Build/lufa_build.mk
+++ b/LUFA/Build/lufa_build.mk
@@ -66,15 +66,19 @@ else ifeq ($(ARCH), UC3)
    $(warning The UC3 device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.)
 endif
 
-# LUFA specific standard build options
-C_FLAGS += -I. -I$(patsubst %/,%,$(LUFA_PATH))/..
-C_FLAGS += -DARCH=ARCH_$(ARCH) -DBOARD=BOARD_$(BOARD) -DF_USB=$(F_USB)UL
+# Common LUFA C/C++ includes/definitions
+LUFA_CXX_INCLUDES = -I. -I$(patsubst %/,%,$(LUFA_PATH))/..
+LUFA_CXX_DEFINES  = -DARCH=ARCH_$(ARCH) -DBOARD=BOARD_$(BOARD) -DF_USB=$(F_USB)UL
 
 # This flag is required for bootloaders as GCC will emit invalid jump table
 # assembly code for devices with large amounts of flash; the jump table target
 # is extracted from FLASH without using the correct ELPM instruction, resulting
 # in a pseudo-random jump target.
-C_FLAGS += -fno-jump-tables
+LUFA_CXX_FLAGS    = -fno-jump-tables
+
+# LUFA specific standard build options
+C_FLAGS   += $(LUFA_CXX_INCLUDES) $(LUFA_CXX_DEFINES) $(LUFA_CXX_FLAGS)
+CPP_FLAGS += $(LUFA_CXX_INCLUDES) $(LUFA_CXX_DEFINES) $(LUFA_CXX_FLAGS)
 
 DMBS_PATH := $(LUFA_PATH)/Build/DMBS/DMBS
 include $(DMBS_PATH)/gcc.mk
diff --git a/Projects/XPLAINBridge/makefile b/Projects/XPLAINBridge/makefile
index 65ca730f934e92881f610d74cbe9dc16c4629d2f..aacca67807e74eda58cef16544986157166a327d 100644
--- a/Projects/XPLAINBridge/makefile
+++ b/Projects/XPLAINBridge/makefile
@@ -31,13 +31,13 @@ LD_FLAGS     =
 # Default target
 all:
 
+OBJDIR      := obj
+
 # Since this project borrows files from the AVRISP-MKII project which may also have an
 # identical OBJDIR directory, we need to enforce the use of this project's object file
 # directory as the one where the build object files are to be stored by pre-pending the
 # absolute path of the current project to the OBJDIR variable.
-ifneq ($(OBJDIR),)
-  override OBJDIR:=$(shell pwd)/$(OBJDIR)
-endif
+override OBJDIR:=$(shell pwd)/$(OBJDIR)
 
 # Include LUFA build script makefiles
 include $(LUFA_PATH)/Build/lufa_core.mk