aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Build/lufa_build.mk37
-rw-r--r--LUFA/Build/lufa_sources.mk2
-rw-r--r--LUFA/DoxygenPages/BuildSystem.txt21
-rw-r--r--LUFA/DoxygenPages/MigrationInformation.txt2
4 files changed, 55 insertions, 7 deletions
diff --git a/LUFA/Build/lufa_build.mk b/LUFA/Build/lufa_build.mk
index 3c41da000..1aae2a388 100644
--- a/LUFA/Build/lufa_build.mk
+++ b/LUFA/Build/lufa_build.mk
@@ -8,16 +8,51 @@
DMBS_BUILD_MODULES +=
DMBS_BUILD_TARGETS +=
-DMBS_BUILD_MANDATORY_VARS += F_USB
+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)
diff --git a/LUFA/Build/lufa_sources.mk b/LUFA/Build/lufa_sources.mk
index ad1a47711..0764d30f1 100644
--- a/LUFA/Build/lufa_sources.mk
+++ b/LUFA/Build/lufa_sources.mk
@@ -15,7 +15,7 @@ DMBS_BUILD_PROVIDED_VARS += LUFA_SRC_USB_DEVICE LUFA_SRC_USB_HOST \
LUFA_SRC_USBCLASS_HOST LUFA_SRC_USBCLASS \
LUFA_SRC_TEMPERATURE LUFA_SRC_SERIAL \
LUFA_SRC_TWI LUFA_SRC_PLATFORM
-LUFA_BUILD_PROVIDED_MACROS +=
+DMBS_BUILD_PROVIDED_MACROS +=
# -----------------------------------------------------------------------------
# LUFA Sources Buildsystem Makefile Module.
diff --git a/LUFA/DoxygenPages/BuildSystem.txt b/LUFA/DoxygenPages/BuildSystem.txt
index 7ddfa1be3..2c8d0c745 100644
--- a/LUFA/DoxygenPages/BuildSystem.txt
+++ b/LUFA/DoxygenPages/BuildSystem.txt
@@ -7,10 +7,23 @@
/** \page Page_BuildSystem The LUFA Build System
*
* \section Sec_BuildSystem_Overview Overview of the LUFA Build System
- * The LUFA build system is an attempt at making a set of re-usable, modular build make files which
- * can be referenced in a LUFA powered project, to minimize the amount of code required in an
- * application makefile. The system is written in GNU Make, and each module is independent of
- * one-another.
+ * The LUFA build system was originally an attempt at making a set of
+ * re-usable, modular build make files which could be referenced in a LUFA
+ * powered project, to minimize the amount of code required in an
+ * application makefile.
+ *
+ * As it turned out to be fairly generic in nature, it was split out into its
+ * own separate project, called DMBS (<i>Dean's Makefile Build System</i>)
+ * which is released into the public domain. LUFA specific portions of the
+ * LUFA build system extend DMBS, and provide a universal build system for all
+ * LUFA projects.
+ *
+ * The latest DMBS project information can be found at:
+ * https://github.com/abcminiuser/dmbs
+ *
+ * DMBS is written in GNU Make, and each module is independent of one-another.
+ *
+ * \section SSec_BuildSystem_Using Using the LUFA Build System
*
* For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA
* build system, see \ref Sec_CompilingApps_Prerequisites.
diff --git a/LUFA/DoxygenPages/MigrationInformation.txt b/LUFA/DoxygenPages/MigrationInformation.txt
index b98bfc170..b9ed3a335 100644
--- a/LUFA/DoxygenPages/MigrationInformation.txt
+++ b/LUFA/DoxygenPages/MigrationInformation.txt
@@ -17,7 +17,7 @@
* \section Sec_Migration151115 Migrating from 140928 to 151115
* <b>Non-USB Library Components</b>
* - The ATPROGRAM LUFA build system module now defaults to the Atmel ICE debugger tool, instead of the Atmel JTAG ICE3.
- * - The \x Serial_CreateStream() and \c Serial_CreateBlockingStream() functions now require a USART base pointer for XMEGA devices as the first parameter.
+ * - The \c Serial_CreateStream() and \c Serial_CreateBlockingStream() functions now require a USART base pointer for XMEGA devices as the first parameter.
*
* \section Sec_Migration140928 Migrating from 140302 to 140928
* <b>Device Mode</b>