diff --git a/LUFA/Build/lufa_build.mk b/LUFA/Build/lufa_build.mk index 3c41da000f..1aae2a3889 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 ad1a47711e..0764d30f1a 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 7ddfa1be3f..2c8d0c745c 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 (Dean's Makefile Build System) + * 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 b98bfc1700..b9ed3a3353 100644 --- a/LUFA/DoxygenPages/MigrationInformation.txt +++ b/LUFA/DoxygenPages/MigrationInformation.txt @@ -17,7 +17,7 @@ * \section Sec_Migration151115 Migrating from 140928 to 151115 * Non-USB Library Components * - 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 * Device Mode