From 2fcd50ada8e0916d1ed5addb2567b4bfcee8497c Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 22 Dec 2015 22:14:09 +1100 Subject: [PATCH] Fix C++ builds, XPLAINBridge project. --- LUFA/Build/lufa_build.mk | 12 ++++++++---- Projects/XPLAINBridge/makefile | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/LUFA/Build/lufa_build.mk b/LUFA/Build/lufa_build.mk index 1aae2a3889..d20493ea2d 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 65ca730f93..aacca67807 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