X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/b590350df0cb857bca8efdbd1be9c8532008aa54..fa2cc3e1c3abab7c971506bd86ca4e28ecc7d288:/LUFA/Build/lufa_build.mk diff --git a/LUFA/Build/lufa_build.mk b/LUFA/Build/lufa_build.mk index 1aae2a388..f7c496e18 100644 --- a/LUFA/Build/lufa_build.mk +++ b/LUFA/Build/lufa_build.mk @@ -6,75 +6,7 @@ # www.lufa-lib.org # -DMBS_BUILD_MODULES += -DMBS_BUILD_TARGETS += -DMBS_BUILD_MANDATORY_VARS += LUFA_PATH ARCH F_USB -DMBS_BUILD_OPTIONAL_VARS += BOARD -DMBS_BUILD_PROVIDED_VARS += -DMBS_BUILD_PROVIDED_MACROS += - -# ----------------------------------------------------------------------------- -# LUFA Core Build Buildsystem Makefile Module. -# ----------------------------------------------------------------------------- -# DESCRIPTION: -# Subclass of the standard DMBS GCC build module, with LUFA specific -# extensions. This module provides the core build rules for the compilation -# of LUFA projects using GCC. -# ----------------------------------------------------------------------------- -# TARGETS: -# -# (None) -# -# MANDATORY PARAMETERS: -# -# LUFA_PATH - Path to the LUFA library core -# ARCH - Device architecture name -# F_USB - Speed of the USB core clock, in Hz -# -# OPTIONAL PARAMETERS: -# -# BOARD - LUFA board drivers to use -# -# PROVIDED VARIABLES: -# -# (None) -# -# PROVIDED MACROS: -# -# (None) -# -# ----------------------------------------------------------------------------- - -SHELL = /bin/sh - -ERROR_IF_UNSET ?= $(if $(filter undefined, $(origin $(strip $(1)))), $(error Makefile $(strip $(1)) value not set)) -ERROR_IF_EMPTY ?= $(if $(strip $($(strip $(1)))), , $(error Makefile $(strip $(1)) option cannot be blank)) -ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N)) - -# Sanity check user supplied values -$(call ERROR_IF_EMPTY, LUFA_PATH) -$(call ERROR_IF_EMPTY, ARCH) -$(call ERROR_IF_EMPTY, F_USB) - -# Default values of optionally user-supplied variables -BOARD ?= NONE - -# Determine the utility prefix to use for the selected architecture -ifeq ($(ARCH), XMEGA) - $(warning The XMEGA device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.) -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 - -# 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 - -DMBS_PATH := $(LUFA_PATH)/Build/DMBS/DMBS +DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS +DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA include $(DMBS_PATH)/gcc.mk +include $(DMBS_LUFA_PATH)/lufa-gcc.mk