summaryrefslogtreecommitdiff
path: root/lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk')
-rw-r--r--lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk b/lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk
new file mode 100644
index 0000000000..f824362e4d
--- /dev/null
+++ b/lib/lufa/LUFA/Build/LUFA/lufa-gcc.mk
@@ -0,0 +1,43 @@
+#
+# LUFA Library
+# Copyright (C) Dean Camera, 2015.
+#
+# dean [at] fourwalledcubicle [dot] com
+# www.lufa-lib.org
+#
+
+DMBS_BUILD_MODULES += LUFA_GCC
+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 +=
+
+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
+
+# 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
+
+# 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)