Clean up core build system DMBS subclass module.
authorDean Camera <dean@fourwalledcubicle.com>
Tue, 22 Dec 2015 10:17:19 +0000 (21:17 +1100)
committerDean Camera <dean@fourwalledcubicle.com>
Tue, 22 Dec 2015 10:17:19 +0000 (21:17 +1100)
LUFA/Build/lufa_build.mk
LUFA/Build/lufa_sources.mk
LUFA/DoxygenPages/BuildSystem.txt
LUFA/DoxygenPages/MigrationInformation.txt

index 3c41da0..1aae2a3 100644 (file)
@@ -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)
 
index ad1a477..0764d30 100644 (file)
@@ -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.
index 7ddfa1b..2c8d0c7 100644 (file)
@@ -7,10 +7,23 @@
 /** \page Page_BuildSystem The LUFA Build System\r
  *\r
  *  \section Sec_BuildSystem_Overview Overview of the LUFA Build System\r
- *  The LUFA build system is an attempt at making a set of re-usable, modular build make files which\r
- *  can be referenced in a LUFA powered project, to minimize the amount of code required in an\r
- *  application makefile. The system is written in GNU Make, and each module is independent of\r
- *  one-another.\r
+ *  The LUFA build system was originally an attempt at making a set of\r
+ *  re-usable, modular build make files which could be referenced in a LUFA\r
+ *  powered project, to minimize the amount of code required in an\r
+ *  application makefile.\r
+ *\r
+ *  As it turned out to be fairly generic in nature, it was split out into its\r
+ *  own separate project, called DMBS (<i>Dean's Makefile Build System</i>)\r
+ *  which is released into the public domain. LUFA specific portions of the\r
+ *  LUFA build system extend DMBS, and provide a universal build system for all\r
+ *  LUFA projects.\r
+ *\r
+ *  The latest DMBS project information can be found at:\r
+ *  https://github.com/abcminiuser/dmbs\r
+ *\r
+ *  DMBS is written in GNU Make, and each module is independent of one-another.\r
+ *\r
+ *  \section SSec_BuildSystem_Using Using the LUFA Build System\r
  *\r
  *  For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA\r
  *  build system, see \ref Sec_CompilingApps_Prerequisites.\r
index b98bfc1..b9ed3a3 100644 (file)
@@ -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>